US5758174A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Computer system having a plurality of stored system capability states from which to resume
Assignee: Lenovo PC International Ltd
•
Filing: 1995-06-07
•
Granted: 1998-05-26
•
Expires: 2015-06-07
Abstract
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.
Inventors
- 👤 Dwayne Thomas Crump
- 👤 Steven Taylor Pancoast
- 👤 Herbert Stanley Steelman
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-03 22:11
CPC Classifications
G; G06; G06F; G06F1/00; G06F1/26; G06F1/32; G06F1/3203; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30076; G06F9/30083; G06F9/44; G06F9/4401; G06F9/4418
Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
150 words
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.
Claim 2
Independent Claim
150 words
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.
Claim 3
Dependent Claim
31 words
A method of controlling code executing in a computer system, according to claim 1 further comprising the step of storing the modified second stored computer state to the nonvolatile storage device.
Claim 4
Dependent Claim
69 words
A method of controlling code executing in a computer system, according to claim 1 further comprising the steps of: (a) storing the modified second stored computer state to the nonvolatile storage device; (b) loading the modified first stored computer state from the nonvolatile storage device to the computer system; and (c) executing code from the modified first stored computer state, thereby generating a second modified first stored computer state.
Claim 5
Dependent Claim
205 words
A method of controlling code executing in a computer system according to claim 1: (a) wherein executable code from the first stored computer state has associated therewith a first operating system using a first swap file; (b) wherein executable code from the second stored computer state has associated therewith a second operating system using a second swap file; (c) wherein said step of loading a first stored computer state from a nonvolatile storage device to the computer system comprises the steps of: (i) reading executable code from a portion of the nonvolatile storage device corresponding to the first stored computer state; (ii) writing the executable code to at least one volatile memory device; and (iii) causing the executable code written to the volatile memory device to access the first swap file; and (d) wherein said step of loading a second stored computer state from a nonvolatile storage device to the computer system comprises the steps of: (i) reading executable code from a portion of the nonvolatile storage device corresponding to the second stored computer state; (ii) writing the executable code to at least one volatile memory device; and (iii) causing the executable code written to the volatile memory device to access the second swap file.
Claim 6
Dependent Claim
29 words
A method of controlling code executing in a computer system according to claim 4 wherein said first operating system and said second operating system are the same operating system.
Claim 7
Dependent Claim
86 words
A method of controlling code executing in a computer system according to claim 4: (a) wherein the executable code from the first stored computer state comprises an application program; (b) wherein the application program from the first stored computer state has associated therewith at least one data file; and (c) further comprising the step of, responsive to loading the second stored computer state from the nonvolatile storage device to the computer system, preventing use of the at least one data file by at least one program.
Claim 8
Dependent Claim
85 words
A method of controlling code executing in a computer system according to claim 1: (a) wherein executable code from the first stored computer state comprises an application program; (b) wherein the application program from the first stored computer state has associated therewith at least one data file; and (c) further comprising the step of, responsive to loading the second stored computer state from the nonvolatile storage device to the computer system, preventing use of the at least one data file by at least one program.
Claim 9
Dependent Claim
25 words
A method of controlling code executing in a computer system according to claim 1 wherein said nonvolatile storage device comprises a fixed disk storage device.
Claim 10
Dependent Claim
150 words
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.
Claim 11
Dependent Claim
150 words
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.
Claim 12
Dependent Claim
23 words
A computer system, according to claim 9 further comprising means for storing the modified second stored computer state to the nonvolatile storage device.
Claim 13
Dependent Claim
65 words
A computer system, according to claim 9 further comprising: (a) means for storing the modified second stored computer state to the nonvolatile storage device; (b) means for loading the modified first stored computer state from the nonvolatile storage device to the computer system; and (c) means for executing code from the modified first stored computer state, thereby generating a second modified first stored computer state.
Claim 14
Dependent Claim
204 words
A computer system according to claim 9: (a) wherein executable code from the first stored computer state has associated therewith a first operating system using a first swap file; (b) wherein executable code from the second stored computer state has associated therewith a second operating system using a second swap file; (c) wherein said means for loading a first stored computer state from a nonvolatile storage device to the computer system comprises: (i) means for reading executable code from a portion of the nonvolatile storage device corresponding to the first stored computer state; (ii) means for writing the executable code to at least one volatile memory device; and (iii) means for causing the executable code written to the volatile memory device to access the first swap file; and (d) wherein said means for loading a second stored computer state from a nonvolatile storage device to the computer system comprises: (i) means for reading executable code from a portion of the nonvolatile storage device corresponding to the second stored computer state; (ii) means for writing the executable code to at least one volatile memory device; and (iii) means for causing the executable code written to the volatile memory device to access the second swap file.
Claim 15
Dependent Claim
22 words
A computer system according to claim 12 wherein said first operating system and said second operating system are the same operating system.
Claim 16
Dependent Claim
78 words
A computer system according to claim 12: (a) wherein the executable code from the first stored computer state comprises an application program; (b) wherein the application program from the first stored computer state has associated therewith at least one data file; and (c) further comprising means for, responsive to loading the second stored computer state from the nonvolatile storage device to the computer system, preventing use of the at least one data file by at least one program.
Claim 17
Dependent Claim
65 words
A computer system, according to claim 14 further comprising: (a) means for storing the modified second stored computer state to the nonvolatile storage device; (b) means for loading the modified first stored computer state from the nonvolatile storage device to the computer system; and (c) means for executing code from the modified first stored computer state, thereby generating a second modified first stored computer state.
Claim 18
Dependent Claim
77 words
A computer system according to claim 9: (a) wherein executable code from the first stored computer state comprises an application program; (b) wherein the application program from the first stored computer state has associated therewith at least one data file; and (c) further comprising means for, responsive to loading the second stored computer state from the nonvolatile storage device to the computer system, preventing use of the at least one data file by at least one program.
Claim 19
Dependent Claim
267 words
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.
Claim 20
Dependent Claim
267 words
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.
Claim 21
Dependent Claim
243 words
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.
Claim 22
Dependent Claim
243 words
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.
Claim 23
Dependent Claim
297 words
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.
Claim 24
Dependent Claim
297 words
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.
Claim 25
Dependent Claim
22 words
A computer system according to claim 19 wherein said first operating system and said second operating system are the same operating system.
Claim 26
Dependent Claim
263 words
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.
Claim 27
Dependent Claim
263 words
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.
Claim 28
Dependent Claim
448 words
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.
Claim 29
Dependent Claim
448 words
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.
References Cited (Backward Citations)
US5379435A
Cited
US5167024A
Cited
US5021983A
Cited
US5021983B1
Cited
US5355501A
Cited
US5008829A
Cited
US5193176A
Cited
EP0498374A2
Cited
US5410711A
Cited
EP0518622A1
Cited
US5471624A
Cited
US5386552A
Cited
US5369771A
Cited
US5410713A
Cited
US5535399A
Cited
EP0658843A1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-05-25 | 2001-11-24 | 2002-05-26 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-05-25 | 2005-11-24 | 2006-05-26 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-05-25 | 2009-11-24 | 2010-05-26 | $7700.00 | Window Closed / Lapsed |