IP Library Granted Patent US 7,580,826
Granted Patent B2
US 7,580,826 · App. 10/883,620 · Granted Aug 25, 2009

Systems and methods for development of emulated devices in a virtual machine environment

Assignee: Microsoft Corporation
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,580,826
App. No.
10/883,620
Granted
Aug 25, 2009
Kind
B2
Abstract

The present invention discloses dynamically adding virtual devices to a virtual computing environment. The system described in the invention includes a virtualized computing system with a manifest, which further includes device lists and an external device directory, which provides users of the virtualized computing system with a directory for adding software plug-ins that contain specifications needed to add virtual devices to the virtual computing environment. Certain embodiments are specifically directed to providing a method of adding and configuring virtual devices. Certain embodiments are specifically directed to providing a method of operating a virtualized computing system wherein the host operating system and the virtual devices progress through a series of states, such as: initializing, powering up, loading a stored state, operating in normal state, saving state for future restoration, powering down, and tearing down and turning off.

Claims (63)

1. A method for a virtual computing environment to dynamically add virtual hardware devices, said method comprising:

scanning, by a computer system, an external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties;

receiving, by the computer system, input selecting at least one new virtual hardware device and input selecting a specific set of properties from the plurality of properties, the specific set of properties defining operational characteristics of the virtual hardware device;

acquiring, by the computer system, said selected specific set of properties from the external service directory for the at least one new virtual hardware device;

storing, by the computer system, the specific set of properties for the virtual hardware device in the device listing;

presenting, by the computer system, said selected specific set of properties to a virtual machine operating in said virtual computing environment; and

utilizing, by the computer system, said specific set of selected properties to instantiate a new virtual hardware device having the specific set of properties.

2. The method of claim 1 further comprising maintaining said device list in an emulation program.

3. The method of claim 1 , further comprising:

executing, by the computer system, a virtual machine monitor, the virtual machine monitor having access to a first virtual machine device list, a second virtual machine device list, and the external device directory;

executing, by the computer system, the first virtual machine, the first virtual machine having virtual devices listed in the first virtual machine device list, the first virtual machine effectuating a first guest operating system; and

executing, by the computer system, the second virtual machine, the second virtual machine having virtual devices listed in the second virtual machine device list, the second virtual machine effectuating a second guest operating system.

4. The method of claim 3 , wherein scanning, by the computer system, the external service directory further comprises:

scanning, by the virtual machine monitor, the external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties.

5. The method of claim 3 , wherein the first and second device lists are maintained by an emulation program.

6. The method of claim 1 , wherein the new virtual hardware device includes a virtual hardware device based on a design for a physical hardware device.

7. A computer system configured to add a virtual hardware device to a virtual machine, the computer system comprising:

a processor;

a computer readable storage medium operatively coupled to the processor, the computer readable storage medium including encoded instructions that are executable by the processor, the computer readable storage medium comprising:

instructions for scanning an external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties;

instructions for receiving input selecting at least one new virtual hardware device and input selecting a specific set of properties from the plurality of properties, the specific set of properties defining operational characteristics of the virtual hardware device;

instructions for acquiring said selected specific set of properties from the external service directory for the at least one new virtual hardware device;

instructions for storing the specific set of properties for the virtual hardware device in the device listing;

instructions for presenting said selected specific set of properties to a virtual machine operating in said virtual computing environment; and

instructions for utilizing said specific set of selected properties to instantiate a new virtual hardware device having the specific set of properties.

8. The computer system of claim 7 , further comprising:

instructions for executing a virtual machine monitor, the virtual machine monitor having access to a first virtual machine device list, a second virtual machine device list, and the external device directory;

instructions for executing the first virtual machine, the first virtual machine having virtual devices listed in the first virtual machine device list, the first virtual machine effectuating a first guest operating system; and

instructions for executing the second virtual machine, the second virtual machine having virtual devices listed in the second virtual machine device list, the second virtual machine effectuating a second guest operating system.

9. The computer system of claim 8 , wherein scanning the external service directory further comprises:

instructions for scanning, by the virtual machine monitor, the external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties.

10. The computer system of claim 8 , wherein the first and second device lists are maintained by an emulation program.

11. The computer system of claim 7 , wherein the new virtual hardware device includes a virtual hardware device based on a design for a physical hardware device.

12. A computer readable storage medium encoded with computer executable instructions for adding a virtual hardware device to a virtual machine, the instructions that when executed, perform the following method:

scanning an external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties;

receiving input selecting at least one new virtual hardware device and input selecting a specific set of properties from the plurality of properties, the specific set of properties defining operational characteristics of the virtual hardware device;

acquiring said selected specific set of properties from the external service directory for the at least one new virtual hardware device;

storing the specific set of properties for the virtual hardware device in the device listing;

presenting said selected specific set of properties to a virtual machine operating in said virtual computing environment; and

utilizing said specific set of selected properties to instantiate a new virtual hardware device having the specific set of properties.

13. The computer readable storage medium of claim 12 , further comprising:

executing a virtual machine monitor, the virtual machine monitor having access to a first virtual machine device list, a second virtual machine device list, and the external device directory;

executing a first virtual machine, the first virtual machine having virtual devices listed in the first virtual machine device list, the first virtual machine effectuating a first guest operating system; and

executing a second virtual machine, the second virtual machine having virtual devices listed in the second virtual machine device list, the second virtual machine effectuating a second guest operating system.

14. The computer readable storage medium of claim 13 , wherein scanning the external service directory further comprises:

scanning, by the virtual machine monitor, the external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties.

15. The computer readable storage medium of claim 13 , wherein the first and second device lists are maintained by an emulation program.

16. The computer readable storage medium of claim 12 , wherein the new virtual hardware device includes a virtual hardware device based on a design for a physical hardware device.

17. A hardware control device for adding a virtual hardware device to a virtual machine, the hardware control device comprising:

processor means for scanning an external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties;

processor means for receiving input selecting at least one new virtual hardware device and input selecting a specific set of properties from the plurality of properties, the specific set of properties defining operational characteristics of the virtual hardware device;

processor means for acquiring said selected specific set of properties from the external service directory for the at least one new virtual hardware device;

processor means for storing the specific set of properties for the virtual hardware device in the device listing;

processor means for presenting said selected specific set of properties to a virtual machine operating in said virtual computing environment; and

processor means for utilizing said specific set of selected properties to instantiate a new virtual hardware device having the specific set of properties.

18. The hardware control device of claim 17 , further comprising:

processor means for executing a virtual machine monitor, the virtual machine monitor having access to a first virtual machine device list, a second virtual machine device list, and the external device directory;

processor means for executing the first virtual machine, the first virtual machine having virtual devices listed in the first virtual machine device list, the first virtual machine effectuating a first guest operating system; and

processor means for executing the second virtual machine, the second virtual machine having virtual devices listed in the second virtual machine device list, the second virtual machine effectuating a second guest operating system.

19. The hardware control device of claim 17 , wherein scanning the external service directory further comprises:

processor means for scanning, by the virtual machine monitor, the external service directory having a plurality of virtual hardware devices, each virtual hardware device having a plurality of properties.

20. The hardware control device of claim 19 , wherein the first and second device lists are maintained by an emulation program.

21. The hardware control device of claim 17 , wherein the new virtual hardware device includes a virtual hardware device based on a design for a physical hardware device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2004
From: VEGA, RENE ANTONIO; TRAUT, ERIC P.
To: MICROSOFT CORPORATION
Reel/Frame 015548/0973 →
Continuity (1)
Related Publication 20060004554A1 · Jan 5, 2006