IP Library Granted Patent US 7,979,869
Granted Patent B2
US 7,979,869 · App. 11/932,825 · Granted Jul 12, 2011

Method and system for performing I/O operations using a hypervisor

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,979,869
App. No.
11/932,825
Granted
Jul 12, 2011
Kind
B2
Abstract

A method for installing a device driver for a device in a guest domain, that includes obtaining a first device driver for the device by a hypervisor, installing, by the hypervisor, the first device driver into memory allocated to the guest domain, and notifying an operating system in the guest domain of the first device driver after installing the device driver, wherein the operating system communicates with the device using the first device driver.

Claims (50)

1. A method for installing a device driver for a device in a guest domain, comprising:

obtaining a first device driver for the device by a hypervisor;

installing, by the hypervisor, the first device driver into memory allocated to the guest domain; and

notifying an operating system in the guest domain of the first device driver after installing the device driver,

wherein the operating system communicates with the device using the first device driver.

2. The method of claim 1 , wherein obtaining a first device driver further comprises:

obtaining information about the operating system;

obtaining information about the device; and

generating the first device driver using the information about the operating system and the information about the device.

3. The method of claim 1 , wherein obtaining the first device driver further comprises obtaining the first device driver from a repository of device drivers.

4. The method of claim 1 , wherein the first device driver is one selected from a group consisting of a device driver for a virtual device and a device driver for a paravirtualized device.

5. The method of claim 1 , further comprising:

replacing the first device driver with a second device driver, wherein the replacement of the first device driver with the second device driver is transparent to the operating system,

wherein the operating system communicates with the device using the second device driver.

6. The method of claim 5 , further comprising:

monitoring, by the hypervisor, use of the device by the operating system to determine when to replace the first device driver with the second device driver.

7. The method of claim 6 , wherein the first device driver is a device driver for a virtual device and the second device driver is a device driver for a paravirtualized device, and wherein the first device driver is replaced with the second device driver when only the guest domain is using the device.

8. The method of claim 1 , wherein the operating system communicates with the device by loading data into a buffer associated with the device, and wherein the data is dispatched, by the hypervisor, from the buffer to the device.

9. The method of claim 1 , wherein the device is configured for concurrent use by the guest domain and a second domain.

10. The method of claim 1 , further comprising:

inserting, by the operating system, data from the guest domain into a first queue;

inserting data from a second domain into a second queue; and

dispatching, by the hypervisor, data from the first queue and the second queue to the device.

11. A computer system comprising:

a device;

a hypervisor; and

an operating system installed in a guest domain of the hypervisor, wherein the hypervisor is configured to:

obtain a first device driver for the device;

install the first device driver into memory allocated to the guest domain; and

notify the operating system of the first device driver after installing the device driver,

wherein the operating system communicates with the device using the first device driver.

12. The computer system of claim 11 , wherein the hypervisor is further configured to obtain the first device driver by:

obtaining information about the operating system;

obtaining information about the device; and

generating the first device driver using the information about the operating system and the information about the device.

13. The computer system of claim 11 , wherein the hypervisor is further configured to obtain the first device driver from a repository of device drivers.

14. The computer system of claim 11 , wherein the first device driver is one selected from a group consisting of a device driver for a virtual device and a device driver for a paravirtualized device.

15. The computer system of claim 11 , wherein the hypervisor is further configured to:

replace the first device driver with a second device driver, wherein the replacement of the first device driver with the second device driver is transparent to the operating system,

wherein the operating system communicates with the device using the second device driver.

16. The computer system of claim 15 , wherein the hypervisor is further configured to:

monitor use of the device by the operating system to determine when to replace the first device driver with the second device driver.

17. The computer system of claim 16 , wherein the first device driver is a device driver for a virtual device and the second device driver is a device driver for a paravirtualized device, and wherein the first device driver is replaced with the second device driver when only the guest domain is using the device.

18. The computer system of claim 11 , wherein the operating system communicates with the device by loading data into a buffer associated with the device, and wherein the hypervisor is further configured to dispatch the data from the buffer to the device.

19. The computer system of claim 11 , wherein the device is configured for simultaneous use by the guest domain and a second domain of the hypervisor.

20. A computer readable medium comprising computer readable program code embodied therein for causing a computer system to:

obtain a first device driver for a device by a hypervisor;

install, by the hypervisor, the first device driver into memory allocated to a guest domain of the hypervisor; and

notify an operating system in the guest domain of the first device driver after installing the device driver,

wherein the operating system communicates with the device using the first device driver.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2007
From: MANCZAK, OLAF; VICK, CHRISTOPHER A.; PALECZNY, MICHAEL H.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 020090/0482 →