IP Library Granted Patent US 8,326,449
Granted Patent B2
US 8,326,449 · App. 12/062,610 · Granted Dec 4, 2012

Augmenting a virtual machine hosting environment from within a virtual machine

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,326,449
App. No.
12/062,610
Granted
Dec 4, 2012
Kind
B2
Abstract

Systems and methods augment a virtual machine (computer) hosting environment from within a virtual machine. A communication channel between the virtual machine and the player is used to send instructions to the player to load and execute requested software modules. Requests to load and execute the modules may originate in the corporate network and may be issued by the corporate network administrator. If a requested module is not stored on the host computer, the virtual machine may upload the module, via the communication channel, to the player. The uploaded module may, for example: (a) install a required upgrade in the host operating system; (b) execute virus checking software on the host computer; or (c) install a corporate network-provided secure printing module that enables software being executed by the host computer to print on devices connected to the host computer.

Claims (63)

1. A method for loading software on a host computer that hosts a virtual machine (VM) and a host operating system (OS), comprising:

receiving, by the VM, a message from a second computer indicative of a request to load requested software on a host partition of the host computer, the second computer having a communication link with the VM and lacking a communication link with the host partition that passes entirely outside of the VM;

in response to receiving the message from the second computer, sending a second message from within the VM to a virtual machine manager (VMM) being executed by the host computer, the second message being indicative of a request to load the requested software on the host partition of the host computer; and

in response to receiving the second message, loading, by the VMM, the requested software onto the host partition of the host computer.

2. The method of claim 1 , further comprising:

in response to determining that the requested software is not installed on the host computer, uploading the requested software from the VM to the host partition of the host computer; and

installing the uploaded software on the host computer.

3. The method of claim 1 , further comprising:

in response to determining that the requested software is not installed on the host computer, downloading the requested software from a server to the host computer; and

installing the downloaded software on the host computer.

4. The method of claim 1 , sending the second message comprises:

uploading a software module from the second computer to the VM via a virtual private network connection established between the second computer and the VM; and

executing the uploaded software module by the VM.

5. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

executing at least part of the loaded software by the host partition of the host computer.

6. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

storing at least part of the loaded software on a storage device attached to the host computer.

7. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

storing at least part of the loaded software in a memory used to store instructions that are executed by the host computer.

8. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

modifying existing software on the host partition of the host computer.

9. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

augmenting existing software on the host partition of the host computer.

10. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

replacing, at least in part, existing software on the host partition of the host computer.

11. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

installing an upgrade in the host operating system.

12. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

executing virus checking software on the host partition of the host computer.

13. The method of claim 1 , wherein loading the requested software onto the host partition of the host computer comprises:

installing a secure printing module on the host partition of the host computer.

14. A computer-readable medium bearing computer-executable instructions that, when execution by a computer, cause the computer to perform operations comprising:

receiving, by the VM, a message from a second computer indicative of a request to load requested software on a host partition of the host computer, the second computer having a communication link with the VM and lacking a communication link with the host partition that passes entirely outside of the VM;

in response to receiving the message from the second computer, sending a second message from within the VM to a virtual machine manager (VMM) being executed by the host computer, the second message being indicative of a request to load the requested software on the host partition of the host computer; and

in response to receiving the second message, loading, by the VMM, the requested software onto the host partition of the host computer.

15. The computer-readable medium of claim 14 , further bearing computer-executable instructions that, when executed by the computer, cause the computer to perform operations comprising:

in response to determining that the requested software is not installed on the host computer, uploading the requested software from the VM to the host partition of the host computer; and

installing the uploaded software on the host computer.

16. The computer-readable medium of claim 14 , further bearing computer-executable instructions that, when executed by the computer, cause the computer to perform operations comprising:

in response to determining that the requested software is not installed on the host computer, downloading the requested software from a server to the host computer; and

installing the downloaded software on the host computer.

17. The computer-readable medium of claim 14 , wherein sending the request to the VMM further comprises:

uploading a software module from a server to the VM via a virtual private network connection established between the second computer and the VM; and

executing the uploaded software module by the VM.

18. The computer-readable medium of claim 14 , wherein loading, by the VMM, the requested software onto the host partition of the host computer further comprises:

executing at least part of the loaded software by the host partition of the host computer.

19. The computer-readable medium of claim 14 , wherein loading, by the VMM, the requested software onto the host partition of the host computer further comprises:

storing at least part of the loaded software on a storage device attached to the host computer.

20. The computer-readable medium of claim 14 , wherein loading, by the VMM, the requested software onto the host partition of the host computer further comprises:

storing at least part of the loaded software in a memory used to store instructions that are executed by the host computer.

21. The computer-readable medium of claim 14 , wherein loading, by the VMM, the requested software onto the host partition of the host computer comprises:

modifying existing software on the host computer.

22. The computer-readable medium of claim 14 , wherein loading, by the VMM, the requested software onto the host partition of the host computer comprises:

augmenting existing software on the host computer.

23. A system, comprising:

a virtual machine (VM);

a virtual machine manager (VMM) configured to support the VM;

a host operating system (OS);

a processor; and

a memory coupled to the processor, the memory bearing processor-executable instructions that, when executed on the processor, cause the system to at least:

receive, by the VM, a message from a second computer indicative of a request to load requested software on a host partition of the host computer, the second computer having a communication link with the VM and lacking a communication link with the host partition that passes entirely outside of the VM;

in response to receiving the message from the second computer, send a second message from within the VM to a virtual machine manager (VMM) being executed by the host computer, the second message being indicative of a request to load the requested software on the host partition of the host computer; and

in response to receiving the second message, load, by the VMM, the requested software onto the host partition of the host computer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2008
From: HARTZ, GEORGE; NALE, CHAD; FUSARI, DAVID
To: SENTILLION, INC.
Reel/Frame 021529/0442 →