IP Library Granted Patent US 9,547,485
Granted Patent B2
US 9,547,485 · App. 11/557,126 · Granted Jan 17, 2017

System and method for deploying a virtual machine

Inventors: Aaron T. Suzuki (Mercer Island, WA); Nathan Stanley Johnson (Issaquah, WA); Jonathan Gillette (Sandy, UT); David Noyes Jeppesen (Mercer Island, WA)
Assignee: Prowess Consulting, LLC
G06F8/61G06F9/45558G06F9/44505G06F9/50G06F9/5077G06F2009/45562G06F2009/45575
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 9,547,485
App. No.
11/557,126
Granted
Jan 17, 2017
Kind
B2
Abstract

A system and method may include identifying a virtual machine setting associated with a virtual machine, obtaining system specification information associated with a computer, and generating validation information based on the system specification information and the virtual machine setting. The system and method may further include determining whether to deploy the virtual machine to the computer based on the validation information.

Claims (58)

1. A computer-implemented method comprising:

receiving a selection from a user interface for a virtual machine to be deployed on a host computer;

identifying virtual machine settings associated with the virtual machine, wherein the virtual machine settings comprise (i) virtual machine computing requirements which are dependent on a number of virtual machines simultaneously running or anticipated to simultaneously run on the host computer, (ii) an order in which the number of virtual machines simultaneously running or anticipated to simultaneously run on the host computer are started when multiple virtual machines are simultaneously running or anticipated to be simultaneously running on the host computer, and (iii) user privileges for allowing the virtual machine to be deployed;

automatically obtaining system specification information associated with the host computer, wherein the host computer is a candidate to host the virtual machine and permit a user to deploy the virtual machine through a virtual machine user interface which allows the user to optionally modify at least one of the virtual machine settings;

automatically generating validation information based on the system specification information and the virtual machine settings, wherein generating the validation information comprises comparing the system specification information with the virtual machine settings to verify whether the host computer can support the virtual machine; and

automatically determining whether to deploy the virtual machine to the host computer based on the validation information and automatically deploying the virtual machine based on the validation information being satisfied.

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

copying a virtual machine archive to the host computer from a storage media; and

extracting a virtual machine file from the virtual machine archive.

3. The computer-implemented method of claim 2 , wherein extracting comprises decompressing the virtual machine archive.

4. The computer-implemented method of claim 2 , wherein extracting comprises decrypting the virtual machine archive.

5. The computer-implemented method of claim 2 , further comprising:

configuring a virtualization module based on the virtual machine file.

6. The computer-implemented method of claim 5 , further comprising:

instructing the virtualization module to add the virtual machine at the host computer.

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

receiving, at the host computer, a virtual machine update pertaining to the virtual machine to be deployed on the host computer; and

generating, using the host computer, a second virtual machine based on the virtual machine update and the virtual machine.

8. The computer-implemented method of claim 7 , further comprising deploying the second virtual machine to the host computer.

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

activating the virtual machine on the host computer.

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

generating, using the host computer, a graphical user interface associated with the virtual machine.

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

closing the virtual machine.

12. The computer-implemented method of claim 11 , further comprising:

deleting the virtual machine from the host computer.

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

receiving, at the host computer, a user input identifying a network storage location of a virtual machine archive.

14. The computer-implemented method of claim 1 , wherein the virtual machine settings further comprise a minimum processor speed of the host computer.

15. The computer-implemented method of claim 1 , wherein the virtual machine settings further comprise a minimum system memory of the host computer.

16. The computer-implemented method of claim 1 , wherein the virtual machine settings further comprise information regarding a peripheral device associated with the host computer.

17. The computer-implemented method of claim 1 , wherein the virtual machine settings further comprise a security setting of the host computer.

18. The computer-implemented method of claim 1 , wherein the virtual machine settings further comprise a virtualization module of the host computer.

19. The computer-implemented method of claim 1 , wherein the virtual machine settings further comprise information regarding a network device associated with the host computer.

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

writing host computer information to a log file, wherein the log file is reported to a log server via a web service.

21. The computer-implemented method of claim 20 , wherein the order of starting the virtual machine and second virtual machine on the host computer is determined by attributes of a virtual network operating on the host computer.

22. The computer-implemented method of claim 1 , wherein the virtual machine comprises an alternate version of an existing virtual machine.

23. A computer program stored on a non-transitory computer-readable storage media that when executed on a host computer causes the host computer to:

receive a selection via a user interface for a virtual machine to be deployed on a host computer;

identify virtual machine settings associated with the virtual machine, wherein the virtual machine settings comprise (i) virtual machine computing requirements which are dependent on a number of virtual machines simultaneously running or anticipated to simultaneously run on the host computer, (ii) an order in which the number of virtual machines simultaneously running or anticipated to simultaneously run on the host computer are started when multiple virtual machines are simultaneously running or anticipated to be simultaneously running on the host computer, and (iii) user privileges for allowing the virtual machine to be deployed;

automatically obtain system specification information associated with the host computer, wherein the host computer is configured to permit a user to use the virtual machine through a virtual machine user interface;

automatically generate validation information to identify the system specification information and obtain the virtual machine settings, wherein generating the validation information comprises comparing the system specification information with the virtual machine settings to verify whether the host computer can support the virtual machine;

automatically analyze the system specification information to ensure available disk space exists to deploy the virtual machine; and

automatically determine whether to deploy the virtual machine to the host computer based on the validation information and automatically deploying the virtual machine based on the validation information being satisfied.

24. The computer program stored on a non-transitory computer-readable storage media of claim 23 , wherein the virtual machine comprises an alternate version of an existing virtual machine.

25. A system comprising:

a processor configured to execute a plurality of modules comprising:

an installation module at a host computer to receive a selection for a virtual machine to be deployed on a host computer;

a virtual machine deployment application module to receive virtual machine settings associated with the virtual machine, wherein the virtual machine settings comprise (i) virtual machine computing requirements which are dependent on a number of virtual machines simultaneously running or anticipated to simultaneously run on the host computer, (ii) an order in which the number of virtual machines simultaneously running or anticipated to simultaneously run on the host computer are started when multiple virtual machines are simultaneously running or anticipated to be simultaneously running on the host computer, and (iii) user privileges for allowing the virtual machine to be deployed; and

a specification module configured to utilize one or more computer processors of the host computer to:

automatically obtain system specification information associated with the host computer, wherein the host computer is a candidate to host the virtual machine and permit a user to use the virtual machine through a virtual machine user interface;

automatically generate validation information by comparing the system specification information with the virtual machine settings to verify whether the host computer can support the virtual machine;

automatically analyze the system specification information to ensure available disk space exists to deploy the virtual machine; and

automatically determine whether to deploy the virtual machine to the host computer based on the validation information and

automatically deploying the virtual machine based on the validation information being satisfied.

26. The system of claim 25 , wherein the virtual machine comprises an alternate version of an existing virtual machine.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: PROWESS CONSULTING, LLC
To: SMARTDEPLOY, LLC
Reel/Frame 063022/0805 →
SECURITY INTEREST Recorded Feb 28, 2022
From: SMARTDEPLOY, LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 059119/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2021
From: PROWESS CONSULTING, LLC
To: SMARTDEPLOY, LLC
Reel/Frame 058508/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2010
From: SUZUKI, AARON T.; JOHNSON, NATHAN STANLEY; GILLETTE, JONATHAN; JEPPESEN, DAVID NOYES
To: PROWESS CONSULTING, LLC
Reel/Frame 024250/0054 →
Continuity (2)
Provisional Application 60744055 · Mar 31, 2006
Related Publication 20070234302A1 · Oct 4, 2007