Method and apparatus for suspending a software virtual machine
First Claim
1. A method of saving in suspended form an application running on a software virtual machine on a computer system, comprising the steps of:
- receiving a call from an application for placing the virtual machine and application into a state of suspension;
determining the current state of the components of the virtual machine, including heap, threads, and stack; and
storing the determined state into a save file.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system includes a software virtual machine (such as Java) for running one or more applications. An object is provided that is responsive to a call from an application for placing the virtual machine and application into a state of suspension. This involves interrupting all current threads, and recording the state of the components of the virtual machine, including heap, threads, and stack, into a serialization data structure. Subsequently the serialization data structure can be invoked to resume the virtual machine and application from the state of suspension. Note that many virtual machines can be cloned from the single stored data structure. One benefit of this approach is that a new virtual machine can effectively be created in an already initialized state.
-
Citations
44 Claims
-
1. A method of saving in suspended form an application running on a software virtual machine on a computer system, comprising the steps of:
-
receiving a call from an application for placing the virtual machine and application into a state of suspension;
determining the current state of the components of the virtual machine, including heap, threads, and stack; and
storing the determined state into a save file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of restoring a suspended application running on a software virtual machine (VM) on a computer system from a save file, comprising the steps of:
-
retrieving a save file;
recreating the components of the virtual machine, including heap, threads, and stack, from data in the save file; and
restarting application - View Dependent Claims (15)
-
-
16. A save tool for storing the suspended state of an application running on a software virtual machine on a computer system, said save tool comprising:
-
means for receiving a call from an application for placing the virtual machine and application into a state of suspension;
means for determining the current state of the components of the virtual machine, including heap, threads, and stack; and
means for storing the determined state into a save file. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A restore tool for restoring a suspended application running on a software virtual machine (VM) on a computer system from a save file, comprising:
-
means for retrieving a save file;
means for recreating the components of the virtual machine, including heap, threads, and stack, from data in the save file; and
means for restarting application. - View Dependent Claims (29)
-
-
30. A computer program product comprising program instructions encoded in machine-readable format on a medium, said instructions when loaded into a computer system allowing an application running on a software virtual machine on the computer system to be saved in a suspended form by implementing the steps of:
-
receiving a call from an application for placing the virtual machine and application into a state of suspension;
determining the current state of the components of the virtual machine, including heap, threads, and stack; and
storing the determined state into a save file. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A computer program product comprising program instructions encoded in a machine-readable format on a medium, said instructions, when loaded into a computer system, causing it to restore a suspended application running on a software virtual machine (VM) on the computer system from a save file, by performing the steps of:
-
retrieving a save file;
recreating the components of the virtual machine, including heap, threads, and stack, from data in the save file; and
restarting application. - View Dependent Claims (44)
-
Specification