← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag