Computer system having a plurality of stored system capability states from which to resume
First Claim
Patent Images
1. A method of controlling code executing in a computer system, comprising the steps of:
- (a) loading a first stored computer state from a nonvolatile storage device to the computer system, said first stored computer state including a static snapshot of the contents of system memory and volatile registers of the computer system at a first point in time;
(b) executing code from the first stored computer state, thereby generating a modified first stored computer state;
(c) storing the modified first stored computer state to the nonvolatile storage device;
(d) loading a second stored computer state from the nonvolatile storage device to the computer system, said second stored computer state including a static snapshot of the contents of system memory and volatile registers of the computer system at a second point in time; and
(e) executing code from the second stored computer state, thereby generating a modified second stored computer state.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer system having suspend and resume capabilities using a plurality of suspend files to save multiple system states. Provision is made for use of multiple operating systems requiring multiple swap files. Also, a cross-session data file monitor prevents corruption of data files from one session to another.
-
Citations
22 Claims
-
1. A method of controlling code executing in a computer system, comprising the steps of:
-
(a) loading a first stored computer state from a nonvolatile storage device to the computer system, said first stored computer state including a static snapshot of the contents of system memory and volatile registers of the computer system at a first point in time; (b) executing code from the first stored computer state, thereby generating a modified first stored computer state; (c) storing the modified first stored computer state to the nonvolatile storage device; (d) loading a second stored computer state from the nonvolatile storage device to the computer system, said second stored computer state including a static snapshot of the contents of system memory and volatile registers of the computer system at a second point in time; and (e) executing code from the second stored computer state, thereby generating a modified second stored computer state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system, comprising:
-
(a) means for loading a first stored computer state from a nonvolatile storage device to the computer system, said first stored computer state including a static snapshot of the contents of system memory and volatile registers of the computer system at a first point in time; (b) means for executing code from the first stored computer state, thereby generating a modified first stored computer state; (c) means for storing the modified first stored computer state to the nonvolatile storage device; (d) means for loading a second stored computer state from the nonvolatile storage device to the computer system, said second stored computer state including a static snapshot of the contents of system memory and volatile registers of the computer system at a second point in time; and (e) means for executing code from the second stored computer state, thereby generating a modified second stored computer state. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer system comprising:
-
(a) a processing unit; (b) volatile memory in circuit communication with said processing unit for storing memory data; (c) volatile registers in circuit communication with said processing unit for storing register data; (d) a nonvolatile storage device in circuit communication with said processing unit, said nonvolatile storage device having stored thereon at least first and second suspend files, said first suspend file including the contents of said volatile memory and said volatile registers at a first point in time where code execution on said processing unit was reversibly interrupted, and said second suspend file including the contents of said volatile memory and said volatile registers at a second point in time where code execution on said processing unit was reversibly interrupted; and (e) a control unit in circuit communication with said processing unit said control unit selectively causing any one of said suspend files to be read from said nonvolatile storage device, said control unit causing memory data and resister data from said one suspend file to be written to said volatile memory and said volatile registers, respectively, and said control unit causing code execution to resume where code execution on said processing unit was reversibly interrupted; and wherein, responsive to input by a user of said computer system, said control unit stores to said nonvolatile storage device the contents of said volatile memory and said volatile registers at a point in time where code execution on said processing unit was reversibly interrupted and then causes another of said suspend files to be read from said nonvolatile storage device from which to resume.
-
-
18. A computer system comprising:
-
(a) a processing unit; (b) volatile memory in circuit communication with said processing unit for storing memory data; (c) volatile registers in circuit communication with said processing unit for storing register data; (d) a nonvolatile storage device in circuit communication with said processing unit, said nonvolatile storage device having stored thereon at least first and second suspend files, said first suspend file including the contents of said volatile memory and said volatile registers at a first point in time where code execution on said processing unit was reversibly interrupted, and said second suspend file including the contents of said volatile memory and said volatile registers at a second point in time where code execution on said processing unit was reversibly interrupted; and (e) a control unit in circuit communication with said processing unit, said control unit selectively causing any one of said suspend files to be read from said nonvolatile storage device, said control unit causing memory data and register data from said one suspend file to be written to said volatile memory and said volatile registers, respectively, and said control unit causing code execution to resume where code execution on said processing unit was reversibly interrupted; and wherein at least one of said suspend files has associated therewith a password, which must be entered by a user of said computer system before said control unit will cause code execution to resume from said at least one suspend file.
-
-
19. A computer system comprising:
-
(a) a processing unit; (b) volatile memory in circuit communication with said processing unit for storing memory data; (c) volatile registers in circuit communication with said processing unit for storing resister data; (d) a nonvolatile storage device in circuit communication with said processing unit, said nonvolatile storage device having stored thereon at least first and second suspend files, said first suspend file including the contents of said volatile memory and said volatile registers at a first point in time where code execution on said processing unit was reversibly interrupted, and said second suspend file including the contents of said volatile memory and said volatile registers at a second point in time where code execution on said processing unit was reversibly interrupted; and (e) a control unit in circuit communication with said processing unit, said control unit selectively causing any one of said suspend files to be read from said nonvolatile storage device, said control unit causing memory data and register data from said one suspend file to be written to said volatile memory and said volatile registers, respectively, and said control unit causing code execution to resume where code execution on said processing unit was reversibly interrupted; and (1) wherein said first suspend file has associated therewith a first operating system using a first swap file; (2) wherein said second suspend file has associated therewith a second operating system using a second swap file; and (3) wherein said control unit, in connection with causing memory data and register data from said one suspend file to be written to said volatile memory and said volatile registers and before causing code execution to resume, causes the operating system associated with said one suspend file to access the swap file associated with said one suspend file. - View Dependent Claims (20)
-
-
21. A computer system comprising:
-
(a) a processing unit; (b) volatile memory in circuit communication with said processing unit for storing memory data; (c) volatile registers in circuit communication with said processing unit for storing register data; (d) a nonvolatile storage device in circuit communication with said processing unit, said nonvolatile storage device having stored thereon at least first and second suspend files, said first suspend file including the contents of said volatile memory and said volatile registers at a first point in time where code execution on said processing unit was reversibly interrupted, and said second suspend file including the contents of said volatile memory and said volatile registers at a second point in time where code execution on said processing unit was reversibly interrupted; and (e) a control unit in circuit communication with said processing unit, said control unit selectively causing any one of said suspend files to be read from said nonvolatile storage device, said control unit causing memory data and register data from said one suspend file to be written to said volatile memory and said volatile registers, respectively, and said control unit causing code execution to resume where code execution on said processing unit was reversibly interrupted; and (1) wherein said first suspend file has associated therewith an application program; (2) wherein said application program has associated therewith at least one data file; and (3) wherein said control unit prevents use of the at least one data file by at least one program operated in conjunction with code execution resulting from reading and resuming from said second suspend file.
-
-
22. A computer system comprising:
-
(a) a processing unit; (b) volatile memory in circuit communication with said processing unit for storing memory data; (c) volatile registers in circuit communication with said processing unit for storing register data; (d) a nonvolatile storage device in circuit communication with said processing unit, said nonvolatile storage device having stored thereon at least first and second suspend files, said first suspend file including the contents of said volatile memory and said volatile registers at a first point in time where code execution on said processing unit was reversibly interrupted, and said second suspend file including the contents of said volatile memory and said volatile registers at a second point in time where code execution on said processing unit was reversibly interrupted; and (e) a control unit in circuit communication with said processing unit, said control unit selectively causing any one of said suspend files to be read from said nonvolatile storage device, said control unit causing memory data and register data from said one suspend file to be written to said volatile memory and said volatile registers, respectively, and said control unit causing code execution to resume where code execution on said processing unit was reversibly interrupted; and (1) wherein said control unit selects which one of said suspend files to be read responsive to input by a user of said computer system; (2) wherein, responsive to input by a user of said computer system, said control unit stores to said nonvolatile storage device the contents of said volatile memory and said volatile registers at a point in time where code execution on said processing unit was reversibly interrupted and then causes another of said suspend files to be read from said nonvolatile storage device from which to resume; (3) wherein said first suspend file has associated therewith a first operating system using a first swap file; (4) wherein said second suspend file has associated therewith a second operating system using a second swap file; (5) wherein said control unit, in connection with causing memory data and register data from said one suspend file to be written to said volatile memory and said volatile registers and before causing code execution to resume, causes the operating system associated with said one suspend file to access the swap file associated with said one suspend file; 6) wherein said first suspend file has associated therewith an application program; (7) wherein said application program has associated therewith at least one data file; and (8) wherein said control unit prevents use of the at least one data file by at least one program operated in conjunction with code execution resulting from reading and resuming from said second suspend file.
-
Specification