IP Library Granted Patent US 7,480,773
Granted Patent B1
US 7,480,773 · App. 11/119,567 · Granted Jan 20, 2009

Virtual machine use and optimization of hardware configurations

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 7,480,773
App. No.
11/119,567
Granted
Jan 20, 2009
Kind
B1
Abstract

A method of building a computer system is provided. The method comprises determining an average memory storage per virtual machine, determining an average number of virtual machines per host computer, and determining an amount of memory storage per memory pool. The method also comprises determining a maximum number of host computers per memory pool based on the average memory storage per virtual machine, the average number of virtual machines per host computer, and the amount of memory storage per memory pool. The method also includes assembling the appropriate number of host computers and memory storage, organized around memory pools, to handle a specific number of virtual machines.

Claims (96)

1. A method of building a computer system, comprising:

determining an average memory storage per virtual machine M avg for a known number of virtual machines;

determining a nominal number of virtual machines per host computer VM nom for a plurality of host computers to be assembled for the system;

determining an amount of memory storage per memory pool MP max for one or more memory pools, wherein the one or more memory pools comprise at least part of one or more mass storage units;

determining a maximum number of host computers that can share each of the one or more memory pools based on the average memory storage per virtual machine for the known number of virtual machines, the nominal number of virtual machines per host computer for the plurality of host computers, and the amount of memory storage per memory pool;

determining a minimum number of host computers per memory pool needed to absorb a processing load of a failed host computer based on a normal processing load of each host computer L n , and a maximum sustainable processing load of the host computer L m and;

assembling the one or more memory pools with the amount of storage per memory pool and assembling the plurality of host computers to include a number of host computers H within or including the maximum number of host computers and the minimum number of host computers for each of the one or more memory pools to handle the known number of virtual machines;

wherein determining the maximum number of host computers for the at least one memory pool and the minimum number of host computers for the at least one memory pool is determined by

MP

max

M

avg

×

VM

nom

H

L

n

L

m

-

L

n

+

1.

2. The method of claim 1 , wherein at least one of the plurality of host computers employs eight central processing units.

3. The method of claim 1 , wherein the determining the amount of memory storage per memory pool is based at least in part on a logical unit number size of less than two hundred gigabytes.

4. The method of claim 1 , wherein determining the amount of memory storage per memory pool is based at least in part on using a maximum of one hundred and twenty-eight logical unit numbers per memory pool.

5. The method of claim 1 , wherein determining the amount of memory storage per memory pool is determined as seven-tenths to eight-tenths times one hundred and twenty-eight times one hundred gigabytes, where one hundred and twenty-eight is the number of logical unit numbers in the one or more memory pools and one hundred gigabytes is about the optimal amount of memory in one logical unit number.

6. The method of claim 1 , wherein the nominal number of virtual machines per host computer is forty.

7. The method of claim 1 , wherein the nominal number of virtual machines per host computer is a maximum number of virtual machines per host computer.

8. A method of porting servers to a virtual machine pool, including:

determining an average amount of memory consumed per server M avg for the servers being ported to the virtual machine pool, including an operating system memory allocation and an application memory allocation;

determining a host computer central processing unit count;

determining a nominal number of virtual machines per host computer VM nom based at least in part on the host computer central processing unit count and a number of virtual machines which are able to share a central processing unit;

determining an amount of memory storage per memory pool MP max based on the ability of the virtual machines to address all of the memory storage of the memory pool, wherein the memory pool comprises at least part of one or more mass storage units;

determining a maximum number of host computers per memory pool based on the amount of memory storage per memory pool, the nominal number of virtual machines per host computer, and the average amount of memory consumed per server;

determining a minimum number of host computers per memory pool needed to absorb a processing load of a failed host computer based on a normal processing load of each host computer L n , and a maximum sustainable processing load of the host computer L m .

determining a total number of host computers based on a specified number of virtual machines in the virtual machine pool needed to support the servers and the nominal number of virtual machines per host computer;

determining a total number of memory pools based on the total number of host computers and having a number of host computers H per memory pool for each of the total number of memory pools, where the number of host computers H per memory pool is less than or equal to the maximum number of host computers and greater than or equal to the minimum number of host computers, wherein determining the maximum number of host computers per memory pool and the minimum number of host computers per memory pool is determined by

MP

max

M

avg

×

VM

nom

H

L

n

L

m

-

L

n

+

1

;

and

porting the servers to the specified number of virtual machines executed on the total number of host computers organized around the total number of memory pools.

9. The method of claim 8 , wherein the determining the amount of memory storage per memory pool is based at least in part on a maximum number of logical unit numbers that can be addressed by one virtual machine.

10. The method of claim 8 , wherein the determining the nominal number of virtual machines per host computer is further based on one or more factors selected from the group comprising of a number of virtual machines running in one central processing unit, a number of virtual machines running in two central processing units, a number of virtual machines running in four central processing units, and a number of virtual machines running in eight central processing units.

11. The method of claim 8 , wherein the determining the nominal number of virtual machines per host computer is further based-on the numbers of central processing units that the virtual machines run on.

12. The method of claim 8 , further including connecting host computers to the memory pools associated with the host computers.

13. The method of claim 8 , wherein the determining the amount of memory storage per memory pool is based at least in part on a size of a logical unit number above which the performance of the logical unit number begins to drop off.

14. A computer system, comprising:

one or more memory pools, wherein the one or more memory pools comprises at least part of one or more mass storage units, and wherein each of the one or more memory pools has an amount of memory storage MP max based on the ability of a plurality of virtual servers to address the memory storage of the memory pool; and

a plurality of host computers H organized around each of the one or more memory pools, the number of the plurality of host computers H assembled to support a known number of virtual machines organized around the one or more memory pools determined to be less than or equal to a maximum number of host computers that can share the memory storage of the memory pool based at least in part on a determination of an average amount of memory consumed per virtual machine M avg , a determination of nominal number of virtual machines per host computer VM nom , and the amount of memory storage per the memory pool MP max , and the number of the plurality of host computers H determined to be greater than or equal to a minimum number of host computers needed to absorb a processing load of a failed host computer based on a normal processing load of each host computer L n , and a maximum sustainable processing load of the host computer L m ,

wherein the maximum number of host computers and the minimum number of host computers is determined by

MP

max

M

avg

×

VM

nom

H

L

n

L

m

-

L

n

+

1.

15. The computer system of claim 14 , wherein the memory pool comprises one hundred and twenty-eight or fewer logical unit numbers.

16. The computer system of claim 15 , wherein the logical unit numbers comprise less than two hundred gigabytes of memory.

17. The computer system of claim 15 , wherein the logical unit numbers comprise the amount of memory at which the efficiency of the logical unit number efficiency begins to drop off with greater memory size.

18. The computer system of claim 14 , wherein each of the plurality of host computers run one or more of the plurality of virtual machines in one or more central processing units and the plurality of virtual machines are relocatable among the plurality of host computers organized around the same memory pool.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 055604/0001 →
TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Apr 2, 2020
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 052969/0475 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 6, 2017
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 041895/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2005
From: REED, EUGENE R.
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 016527/0339 →