Patent ID: 6795966
Filing Date: 2004-09-21
Classification: G06F

Abstract:
A computer system comprising:a hardware processor; physical system storage; a virtual machine monitor functionally connected to the hardware processor and physical system storage; a virtual machine functionally connected to the virtual machine monitor and including: a virtual processor that has a plurality of registers and executes a sequence of virtual processor instructions, virtual processor instructions being conveyed by the virtual machine monitor to the hardware processor, physical execution of the virtual processor instructions being carried out by the hardware processor; a virtual memory; a virtual operating system; at least one virtual peripheral device having a plurality of peripheral settings and peripheral device data; at least one application program loaded in the virtual machine and executing on the virtual machine under the control of the virtual operating system; in which: at the completion of execution of each processor instruction by the virtual processor, the virtual machine having a total state that includes state information of the virtual processor, of the virtual memory, of the virtual operating system, of each application program, and of each virtual peripheral device; the virtual machine monitor including a checkpointing mechanism: for interrupting the virtual processor; for sensing a checkpoint request for the virtual machine; for generating at least one checkpoint, each checkpoint comprising a list of the total state of the virtual machine corresponding to the respective checkpoint request, at the completion of execution of a respective virtual processor instructions; for storing each generated checkpoint; for sensing a state restoration request corresponding to one of the checkpoints; and upon sensing the state restoration request, for restoring into the virtual machine the total state corresponding to the checkpoint that in turn corresponds to the state restoration request, the virtual machine thereby resuming execution from the restored total state, that is, of the sequence of virtual processor instructions following the virtual processor instruction after whose completion the checkpoint was generated, identically as it would have if the virtual processor had not been interrupted; the physical system storage includes a checkpoint storage portion accessible only by the virtual machine monitor; and each generated checkpoint is stored in the checkpoint storage portion, stored checkpoints thereby remaining unchanged by other access to the physical system storage, the total state of the virtual machine excluding the contents of the corresponding checkpoint storage portion.