LOGGING AND REPLAYING INPUT/OUTPUT EVENTS FOR A VIRTUAL MACHINE
First Claim
Patent Images
1. A computer-implemented method for logging input/output (I/O) events for a virtual machine, the method comprising:
- executing the virtual machine from a checkpoint; and
logging external events, including I/O events;
wherein logging an I/O event comprises logging the event and logging I/O data relating to the I/O event.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods for logging and replaying input/output (I/O) events for a virtual machine (VM). The I/O events may be asynchronous or synchronous. In particular, one embodiment is a computer-implemented method for logging input/output (I/O) events for a virtual machine, the method including: executing the virtual machine from a checkpoint; and logging external events, including I/O events; wherein logging an I/O event comprises logging the event, and then, logging I/O data relating to the I/O event.
-
Citations
19 Claims
-
1. A computer-implemented method for logging input/output (I/O) events for a virtual machine, the method comprising:
-
executing the virtual machine from a checkpoint; and logging external events, including I/O events; wherein logging an I/O event comprises logging the event and logging I/O data relating to the I/O event. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method for replaying a virtual machine which comprises:
-
executing the virtual machine from a checkpoint; and reading external events, including I/O events, from a log; when an I/O event is encountered in the log, calling a device emulator; and the device emulator reading all packets in the log, and copying them into memory of the virtual machine.
-
-
7. A computer-implemented method of replaying I/O events for a virtual machine, the method comprising:
-
when the virtual machine issues an I/O request; logging the I/O request, including an associated identifier; placing a request descriptor into a request queue; and issuing the I/O request to an underlying platform; when the I/O request completes; deferring I/O completion until a subsequent interrupt; and when the subsequent interrupt is raised; stopping the virtual machine; processing all completions; finding a corresponding I/O request in the request queue, and posting the completion to the virtual machine.
-
-
8. A computer-implemented method for logging input/output (I/O) events for a virtual machine, the method comprising:
-
during logging, using a virtual machine monitor and a device emulator so that the virtual machine monitor stops the virtual machine, and the device emulator logs an I/O event; and during replay, stopping the virtual machine when an I/O event is encountered in a log. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-implemented method of replaying input/output (I/O) events for a virtual machine, the method comprising:
-
when the virtual machine issues an I/O request;
logging the I/O request including an associated identifier, placing a request descriptor into a request queue, and issuing the I/O request to an underlying platform;when the I/O request completes, deferring I/O completion until a subsequent interrupt; when the subsequent interrupt is raised, stopping the virtual machine; processing all I/O completions, finding a corresponding I/O request in the request queue, and posting the completion to the virtual machine; and during the replaying, avoiding issuing an I/O request from the virtual machine since a corresponding result has already been logged. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computer readable medium comprising instructions that when executed by a processor implement a method of logging input/output (I/O) events for a virtual machine, the method comprising:
-
executing the virtual machine from a checkpoint; and logging external events, including I/O events; wherein logging an I/O event comprises logging the event and logging I/O data relating to the I/O event. - View Dependent Claims (19)
-
Specification