← Back to Patent Explorer
US6044475A Expired / Lapsed US ⏱️ 0.0 years remaining

Checkpoint and restoration systems for execution control

Assignee: Alcatel Lucent SAS
•
Filing: 1995-06-16
•
Granted: 2000-03-28
•
Expires: 2015-06-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A checkpoint and restoration system is disclosed to provide checkpoint and restoration techniques for user application processes which save the process state, including the volatile state and desired portions of the persistent state, during normal execution, and thereafter restore the saved state. A lazy checkpoint technique is disclosed which delays the taking of the persistent state checkpoint until an inconsistency between the checkpointed volatile state and a portion of the persistent state is about to occur. The disclosed checkpoint and restoration system allows a user or a user application process to specify selected portions of the persistent state to be excluded from a checkpoint. A selected portion of the pre-restoring process state, such as a return value argument, may be protected before restoring the user application process to a checkpointed state, so that the pre-restoration values of the protected state are retained following restoration of the checkpoint. The retained return value allows one or more segments of restoration code to be executed following a restoration and a normal execution mode to be distinguished from a restoration mode.

Inventors

  • 👤 Pi-Yu Chung
  • 👤 Yennun Huang
  • 👤 Chandra Kintala
  • 👤 Kiem-Phong Vo
  • 👤 Yi-Min Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 17:34
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1438

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 101 words
A method for controlling the execution of a user application process following the restoration of a checkpointed state, said user application process having a process state, said method comprising the steps of: checkpointing at least a portion of the process state at a first execution point; restoring the process state to said checkpointed state at a second execution point, said restored process state retaining a pre-restoration value of at least one variable; resuming execution of the user application process using the restored process state; and performing one or more instructions in said user application process based on the retained pre-restoration value.
Claim 2
Independent Claim 101 words
A method for controlling the execution of a user application process following the restoration of a checkpointed state, said user application process having a process state, said method comprising the steps of: checkpointing at least a portion of the process state at a first execution point; restoring the process state to said checkpointed state at a second execution point, said restored process state retaining a pre-restoration value of at least one variable; resuming execution of the user application process using the restored process state; and performing one or more instructions in said user application process based on the retained pre-restoration value.
Claim 3
Dependent Claim 15 words
The method according to claim 1 wherein said retained pre-restoration value indicates a recovery mode.
Claim 4
Dependent Claim 20 words
The method according to claim 2 wherein said one or more instructions constitute instructions performed only during said recovery mode.
Claim 5
Independent Claim 113 words
A method for use by a user application process for bypassing an exception condition, said exception condition causing a premature software exit, said method comprising the steps of: monitoring said application process for said exception condition; initiating a checkpoint of said user application process upon detection of said exception condition and before prematurely exiting said process, said checkpoint being taken at a checkpoint position; exiting said process; restoring said process to said checkpoint position with a return value argument after a delay period, said return value indicating a recovery mode; and examining said return value following said restoration and attempting to bypass said exception condition if said return value indicates a recovery mode.
Claim 6
Independent Claim 113 words
A method for use by a user application process for bypassing an exception condition, said exception condition causing a premature software exit, said method comprising the steps of: monitoring said application process for said exception condition; initiating a checkpoint of said user application process upon detection of said exception condition and before prematurely exiting said process, said checkpoint being taken at a checkpoint position; exiting said process; restoring said process to said checkpoint position with a return value argument after a delay period, said return value indicating a recovery mode; and examining said return value following said restoration and attempting to bypass said exception condition if said return value indicates a recovery mode.
Claim 7
Dependent Claim 25 words
The method according to claim 4 wherein said checkpoint is initiated only after a predefined number of attempts to bypass said exception condition are unsuccessful.
Claim 8
Dependent Claim 19 words
The method according to claim 4 wherein said delayed restoration provides environment diversity suitable for bypassing transient exception conditions.
Claim 9
Dependent Claim 14 words
The method according to claim 4 wherein said exception condition is an out-of-resource condition.
Claim 10
Dependent Claim 18 words
The method according to claim 4 wherein said exception condition is the failure to allocate a desired resource.
Claim 11
Dependent Claim 35 words
The method according to claim 4 further comprising the steps of: retrying said restoring step for a predefined number of times; and migrating said process to another machine if said predefined retry number is exceeded.
Claim 12
Independent Claim 116 words
A method for use by a user application process for bypassing a premature software exit resulting from an out of resource condition, said method comprising the steps of: monitoring said application process for said out of resource condition; initiating a checkpoint of said user application process upon detection of said out of resource condition and before prematurely exiting said process, said checkpoint being taken at a checkpoint position; exiting said process; restoring said process to said checkpoint position with a return value argument after a delay period, said return value indicating a recovery mode; and examining said return value following said restoration and attempting to allocate said resource if said return value indicates a recovery mode.
Claim 13
Independent Claim 116 words
A method for use by a user application process for bypassing a premature software exit resulting from an out of resource condition, said method comprising the steps of: monitoring said application process for said out of resource condition; initiating a checkpoint of said user application process upon detection of said out of resource condition and before prematurely exiting said process, said checkpoint being taken at a checkpoint position; exiting said process; restoring said process to said checkpoint position with a return value argument after a delay period, said return value indicating a recovery mode; and examining said return value following said restoration and attempting to allocate said resource if said return value indicates a recovery mode.
Claim 14
Dependent Claim 24 words
The method according to claim 10 wherein said checkpoint is initiated only after a predefined number of attempts to allocate said resource are unsuccessful.
Claim 15
Dependent Claim 21 words
The method according to claim 10 wherein said delayed restoration provides environment diversity suitable for bypassing transient out of resource conditions.
Claim 16
Dependent Claim 35 words
The method according to claim 10 further comprising the steps of: retrying said restoring step for a predefined number of times; and migrating said process to another machine if said predefined retry number is exceeded.
Claim 17
Independent Claim 147 words
A method for tolerating one or more flaws in a software component imported into a user application process, said user application process having a process state including one or more associated user files, said user application process performing at least two iterations of a processing task, said iteration identified by a counter value, said method comprising the steps of: initializing said user application process to form an initialized state; specifying that said user files should be excluded from a checkpoint of said process state; checkpointing portions of said process state which have not been excluded; executing said processing task based on said initialized state and said counter value; incrementing said counter value; restoring said checkpointed portions of said process state for one or more predefined value of said counter value, said restored process state retaining the current value of said counter value; and repeating said executing step.
Claim 18
Independent Claim 147 words
A method for tolerating one or more flaws in a software component imported into a user application process, said user application process having a process state including one or more associated user files, said user application process performing at least two iterations of a processing task, said iteration identified by a counter value, said method comprising the steps of: initializing said user application process to form an initialized state; specifying that said user files should be excluded from a checkpoint of said process state; checkpointing portions of said process state which have not been excluded; executing said processing task based on said initialized state and said counter value; incrementing said counter value; restoring said checkpointed portions of said process state for one or more predefined value of said counter value, said restored process state retaining the current value of said counter value; and repeating said executing step.
Claim 19
Dependent Claim 32 words
The method according to claim 14 wherein said flaw introduces an undesirable memory state and said checkpointing step performs a checkpoint of said memory state before said undesirable memory state is introduced.
Claim 20
Independent Claim 101 words
A method for checkpointing and restoring a computer process during continuous execution on a computer system, said computer process having a process state including one or more associated user files, said method comprising the steps of: excluding said user files from the process state to be checkpointed; checkpointing portions of the process state which have not been excluded, said checkpoint being performed at a first execution point; restoring the process state to said checkpointed state at a second execution point, said restored process state retaining at least one pre-restoration value; and resuming execution of the process using the restored process state.
Claim 21
Independent Claim 101 words
A method for checkpointing and restoring a computer process during continuous execution on a computer system, said computer process having a process state including one or more associated user files, said method comprising the steps of: excluding said user files from the process state to be checkpointed; checkpointing portions of the process state which have not been excluded, said checkpoint being performed at a first execution point; restoring the process state to said checkpointed state at a second execution point, said restored process state retaining at least one pre-restoration value; and resuming execution of the process using the restored process state.
Claim 22
Dependent Claim 40 words
The method according to claim 16 wherein said checkpointing step is performed before one or more flaws in said computer process introduces an undesirable memory state in a memory and said restoration step restores said memory to a clean state.
Claim 23
Dependent Claim 21 words
The method according to claim 16 further comprising the step of flushing one or more output buffers before said restoration step.
Claim 24
Independent Claim 123 words
A method for checkpointing and restoring a computer process during continuous execution on a computer system, said computer process utilizing one or more variables and having a process state including one or more associated user files, said method comprising the steps of: excluding said user files from the process state to be checkpointed; identifying one or more of said variables which should be protected following a restoration; checkpointing portions of the process state which have not been excluded, said checkpoint being performed at a first execution point; restoring the process state to said checkpointed state at a second execution point, said restored process state retaining pre-restoration values of said identified protected variables; and resuming execution of the process using the restored process state.
Claim 25
Independent Claim 123 words
A method for checkpointing and restoring a computer process during continuous execution on a computer system, said computer process utilizing one or more variables and having a process state including one or more associated user files, said method comprising the steps of: excluding said user files from the process state to be checkpointed; identifying one or more of said variables which should be protected following a restoration; checkpointing portions of the process state which have not been excluded, said checkpoint being performed at a first execution point; restoring the process state to said checkpointed state at a second execution point, said restored process state retaining pre-restoration values of said identified protected variables; and resuming execution of the process using the restored process state.
Claim 26
Independent Claim 149 words
A system for checkpointing and restoring a computer process during continuous execution on a computer system, said computer process utilizing one or more variables and having a process state including one or more associated user files, said system comprising: means for excluding said user files from the process state to be checkpointed; means for identifying one or more of said variables which should be protected following a restoration; a memory device for storing a checkpoint of at least a portion of the process state; means for checkpointing those portions of the process state which have not been excluded, said checkpoint being performed at a first execution point; processing means for restoring the process state to said checkpointed state at a second execution point, said restored process state retaining pre-restoration values of said identified protected variables; and a processor for resuming execution of the process using the restored process state.
Claim 27
Independent Claim 149 words
A system for checkpointing and restoring a computer process during continuous execution on a computer system, said computer process utilizing one or more variables and having a process state including one or more associated user files, said system comprising: means for excluding said user files from the process state to be checkpointed; means for identifying one or more of said variables which should be protected following a restoration; a memory device for storing a checkpoint of at least a portion of the process state; means for checkpointing those portions of the process state which have not been excluded, said checkpoint being performed at a first execution point; processing means for restoring the process state to said checkpointed state at a second execution point, said restored process state retaining pre-restoration values of said identified protected variables; and a processor for resuming execution of the process using the restored process state.

References Cited (Backward Citations)

US4697266A Cited
US4814971A Cited
US4868744A Cited
US4819156A Cited
US5235700A Cited
US5201044A Cited
US5333303A Cited
US5369757A Cited
US5440726A Cited
US5530802A Cited
US5590277A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-03-28 2003-09-27 2004-03-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-03-28 2007-09-27 2008-03-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-03-28 2011-09-27 2012-03-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag