Patent US2815018A successfully refreshed from Google Patents.
Patent US5313647A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5313647A Expired / Lapsed US ⏱️ 0.0 years remaining

Digital data processor with improved checkpointing and forking

Assignee: KENDALL SQUARE RESEARCH Corp A CORP OF DELAWARE
•
Filing: 1991-09-20
•
Granted: 1994-05-17
•
Expires: 2011-09-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A digital data processing apparatus includes a processing element that executes a process for generating requests for access to mapped data in a memory element. The apparatus also includes a fork/checkpoint-signalling element that generates "new-process signals" which delineate new time intervals. The apparatus responds to data requests generated by the process before the first new-process signal by accessing a requested datum as stored in a first set in memory. An address space manager responds to certain requests, e.g., for write access, in subsequent intervals for copying the requested datum from the most recent set in which it is stored to the current interval and, thereafter, accessing that copy. The manager responds to other requests, e.g., those for read-type access, by accessing the requested datum in the most recent set in which it is stored. A fork element can create a second process that initially duplicates a first one and can initiate generation of a new-process signal in connection with creation of the second process.

Inventors

  • 👤 Mark A. Kaufman
  • 👤 Fernando Oliveira

Bibliographic Details

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

Claims Analysis

Total Claims: 46
Claim 1
Independent Claim 332 words
A digital data processing apparatus comprising: A. memory means for storing data, B. first process means for executing a first process and for generating in connection therewith at least one request for mapped access to said data, C. fork/checkpoint signalling means for generating one or more new-process signals, each new-process signal delineating a successive process interval, the interval preceding the first new-process signal being referred to as the first interval, D. means for responding to a request for access to a datum generated by the first process during said first interval for providing access to the requested datum as stored in a first set of data stored in said memory means, the first set being referred to as associated with said first interval of the first process, E. first address space management means, coupled to said first process means and to said fork/checkpoint signalling means, for responding at least to an initial request by that process during a current interval subsequent to said first interval for write-type access to a datum, for i) accessing the requested datum as stored in a set associated with a prior interval of the first process, and ii) generating a further datum initially identical to that accessed datum; F. said first address space management means including means for storing said initially identical datum in a set in said memory means associated with the current interval of the first process, and G. said first address space management means further including means responsive to said initial request by the first process during said current interval for at least write-type access to a datum, as well as to subsequent requests for any of read-type and write-type access to that same datum by that same process during that same interval, for accessing said initially identical datum as stored in the set associated with the current interval of the first process, and otherwise for accessing the requested datum as stored in a set associated with a prior interval of the first process.
Claim 2
Dependent Claim 332 words
A digital data processing apparatus comprising: A. memory means for storing data, B. first process means for executing a first process and for generating in connection therewith at least one request for mapped access to said data, C. fork/checkpoint signalling means for generating one or more new-process signals, each new-process signal delineating a successive process interval, the interval preceding the first new-process signal being referred to as the first interval, D. means for responding to a request for access to a datum generated by the first process during said first interval for providing access to the requested datum as stored in a first set of data stored in said memory means, the first set being referred to as associated with said first interval of the first process, E. first address space management means, coupled to said first process means and to said fork/checkpoint signalling means, for responding at least to an initial request by that process during a current interval subsequent to said first interval for write-type access to a datum, for i) accessing the requested datum as stored in a set associated with a prior interval of the first process, and ii) generating a further datum initially identical to that accessed datum; F. said first address space management means including means for storing said initially identical datum in a set in said memory means associated with the current interval of the first process, and G. said first address space management means further including means responsive to said initial request by the first process during said current interval for at least write-type access to a datum, as well as to subsequent requests for any of read-type and write-type access to that same datum by that same process during that same interval, for accessing said initially identical datum as stored in the set associated with the current interval of the first process, and otherwise for accessing the requested datum as stored in a set associated with a prior interval of the first process.
Claim 3
Dependent Claim 159 words
An apparatus according to claim 1 wherein A. at least said first address space management means includes copy-on-reference-after-first-write means for generating said further initially identical datum in response to at least an initial request by said first process during said current interval for write-type access to a datum, as well as to any subsequent request during that same interval for any of read-type and write-type access to any datum, B. said first address space management means includes means responsive to said initial request by said first process during said current interval for write-type access to a datum, as well as to said subsequent requests during that same interval for any of read-type and write-type access to any datum, for accessing said initially identical datum as stored in the set associated with the current interval of the first process, and otherwise for accessing the requested datum as stored in a set associated with a prior interval of the first process.
Claim 4
Dependent Claim 106 words
An apparatus according to claim 1, wherein A. each said datum in said memory means is associated with a storage descriptor, B. each said process means includes means for generating, along with said access request, a context address signal associated with the requested datum, C. at least said first address space management means includes address translation means responsive to a context address signal for generating a storage descriptor associated with that same datum as stored in the set associated with the current interval of the associated process, and D. said memory means includes means responsive to such storage descriptor for providing access to the associated datum.
Claim 5
Dependent Claim 35 words
An apparatus according to claim 3, wherein said address translation means includes one or more translation-representative signals, each representative of an association between at least one context address signal and at least one storage descriptor.
Claim 6
Dependent Claim 60 words
An apparatus according to claim 4, wherein at least said first address space management means includes A. object means for selectively storing signals representative of a state of the associated process during a process interval, said state-representative signals including said translation-representative signals, and B. means for selectively transferring such translation-representative signals between said object means and said address translation means.
Claim 7
Dependent Claim 42 words
An apparatus according to claim 5, wherein at least said first address space management means includes means responsive to at least said new-process signal for at least enabling storage of said translation-representative signals from said address translation means to said object means.
Claim 8
Dependent Claim 49 words
An apparatus according to claim 6, wherein said first address space management means includes means responsive to an initial request by the first process for write-type access to a datum subsequent to said new-process signal for storing said translation-representative signals from said address translation means to said object means.
Claim 9
Dependent Claim 39 words
An apparatus according to claim 6, wherein at least said first address space management means includes means for creating a plurality of said object means, each storing translation-representative signals from the address translation means of a respective prior interval.
Claim 10
Dependent Claim 33 words
An apparatus according to claim 8, wherein at least said first address space management means includes means linking said object means in an order based upon the recency of the associated process intervals.
Claim 11
Independent Claim 84 words
An apparatus according to any of claims 5-9, wherein at least said first address space management means includes reassignment means responsive to said new-process signal for at least enabling modification of said one or more translation-representative signals stored in said address translation means to reflect an association between at least one context address signal and at least one further storage descriptor, said further storage descriptor being initially associated with a missing datum in a set associated with the current interval of the associated process.
Claim 12
Dependent Claim 48 words
An apparatus according to claim 10, wherein said reassignment means includes means for responding to an initial request by the first process for write-type access to a datum subsequent to said new-process signal for so modifying said one or more translation-representative signals stored in said address translation means.
Claim 13
Dependent Claim 29 words
An apparatus according to claim 10, wherein said memory means includes means responsive to a request for access to a missing datum for generating a missing-datum signal indicative thereof.
Claim 14
Dependent Claim 42 words
An apparatus according to claim 12, wherein at least said first address space management means includes prior-set means responsive to a missing-datum signal for accessing the missing datum as stored in a set associated with a prior interval of the associated process.
Claim 15
Dependent Claim 39 words
An apparatus according to claim 13, wherein said prior-set means includes means for accessing the missing datum as stored in a set associated with a most recent prior interval of the associated process in which that datum is stored.
Claim 16
Dependent Claim 30 words
An apparatus according to claim 14, wherein said prior-set means includes means for searching one or more said object means to identify a storage descriptor associated with said missing datum.
Claim 17
Dependent Claim 32 words
An apparatus according to claim 15, wherein at least said first address space management means includes restore means for restoring the associated process to a state associated with a prior process interval.
Claim 18
Dependent Claim 29 words
An apparatus according to claim 16, wherein said restore means includes means for transferring translation-representative signals from a selected one of said object means to said address translation means.
Claim 19
Dependent Claim 44 words
An apparatus according to claim 5, further comprising A. disk means coupled to said address space management means for non-volatile storage of data, and wherein B. said first address space means includes means for storing and accessing said object means on said disk means.
Claim 20
Dependent Claim 42 words
An apparatus according to claim 18, comprising A. means for temporarily storing at least selected other process-related information on said disk means, B. means for retaining at least selected object means on said disk for periods longer then said other process-related information.
Claim 21
Dependent Claim 278 words
A digital data processor according to claim 1, comprising: A. fork means for creating a second process initially duplicating said first process, said fork means being coupled to said fork/checkpoint signalling means for initiating generation of a new-process signal in connection with creation of said second process, B. second process means for executing said second process and for generating in connection therewith at least one request for mapped access to said datum, C. second address space management means coupled to said second process means for responding at least to an initial request by that process during a current interval subsequent to creation of said second process for write-type access to a datum, for i) accessing the requested datum as stored in a set associated with at least a prior interval, preferentially associated with the second process, and ii) generating a further datum initially identical to the access datum, D. said second address space management means including means for storing that initially identical datum in a set in said memory means associated with the current interval of the second process, and E. said second address space management means further including means responsive to said initial request by the second process during said current interval for at least write-type access to a datum, as well as to subsequent requests for any of read-type and write-type access to that same datum by that same process during the current interval for accessing said initially identical datum as stored in the set associated with the current interval of the second process, and otherwise for accessing that datum as stored in a set associated with a prior interval, preferentially associated with said second process.
Claim 22
Dependent Claim 58 words
An apparatus according to claim 1, comprising at least one of: A. automatic checkpoint means responsive to a designated event for generating a new-process signal, B. manual checkpoint means responsive to operator input for generating a new-process signal, and C. programmatic checkpoint means responsive to execution of at least a selected programming instruction for generating a new-process signal.
Claim 23
Dependent Claim 26 words
An apparatus according to claim 21, wherein said automatic checkpoint means include means for generating said one or more new-process signals as a function of time.
Claim 24
Independent Claim 294 words
A method for operating a digital data processing apparatus comprising the steps of: A. providing memory means for storing data, B. executing a first process and generating in connection therewith at least one request for mapped access to said data, C. generating one or more new-process signals, each new-process signal delineating a successive process interval, the interval preceding the first new-process signal being referred to as the first interval, D. responding to a request for access to a datum generated by the first process during said first interval for providing access to the requested datum as stored in a first set of data stored in said memory means, the first set being referred to as associated with said first interval of the first process, E. responding at least to an initial request by said first process during a current interval subsequent to said first interval for write-type access to a datum, for i) accessing the requested datum as stored in a set associated with a prior interval of the first process, and ii) generating a further datum initially identical to that accessed datum, F. storing said initially identical datum in a set in said memory means associated with the current interval of the first process, and G. responding to said initial request by the first process during said current interval for at least write-type access to a datum, as well as to subsequent requests for any of read-type and write-type access to that same datum by that same process during that same interval, for accessing said initially identical datum as stored in the set associated with the current interval of the first process, and otherwise for accessing the requested datum as stored in a set associated with a prior interval of the first process.
Claim 25
Independent Claim 294 words
A method for operating a digital data processing apparatus comprising the steps of: A. providing memory means for storing data, B. executing a first process and generating in connection therewith at least one request for mapped access to said data, C. generating one or more new-process signals, each new-process signal delineating a successive process interval, the interval preceding the first new-process signal being referred to as the first interval, D. responding to a request for access to a datum generated by the first process during said first interval for providing access to the requested datum as stored in a first set of data stored in said memory means, the first set being referred to as associated with said first interval of the first process, E. responding at least to an initial request by said first process during a current interval subsequent to said first interval for write-type access to a datum, for i) accessing the requested datum as stored in a set associated with a prior interval of the first process, and ii) generating a further datum initially identical to that accessed datum, F. storing said initially identical datum in a set in said memory means associated with the current interval of the first process, and G. responding to said initial request by the first process during said current interval for at least write-type access to a datum, as well as to subsequent requests for any of read-type and write-type access to that same datum by that same process during that same interval, for accessing said initially identical datum as stored in the set associated with the current interval of the first process, and otherwise for accessing the requested datum as stored in a set associated with a prior interval of the first process.
Claim 26
Dependent Claim 143 words
A method according to claim 23 comprising the further steps of A. generating said further initially identical datum in response to at least an initial request by said first process during said current interval for write-type access to a datum, as well as to any subsequent request during that same interval for any of read-type and write-type access to any datum, B. responding to said initial request by said first process during said current interval for write-type access to a datum, as well as to said subsequent requests during that same interval for any of read-type and write-type access to any datum, for accessing said initially identical datum as stored in the set associated with the current interval of the first process, and otherwise for accessing the requested datum as stored in a set associated with a prior interval of the first process.
Claim 27
Dependent Claim 92 words
A method according to claim 23, wherein A. each said datum in said memory means is associated with a storage descriptor, B. each said process generates, along with said access request, a context address signal associated with the requested datum, said method comprising the further steps of C. responding to a context address signal for generating a storage descriptor associated with that same datum as stored in the set associated with the current interval of the associated process, and D. responding to such storage descriptor for providing access to the associated datum.
Claim 28
Dependent Claim 34 words
A method according to claim 25, comprising the step of providing one or more translation-representative signals, each representative of an association between at least one context address signal and at least one storage descriptor.
Claim 29
Dependent Claim 49 words
A method according to claim 26, comprising the steps of A. selectively storing signals representative of a state of the associated process during a process interval, said state-representative signals including said translation-representative signals, and B. selectively transferring such translation-representative signals between said object means and said address translation means.
Claim 30
Dependent Claim 35 words
A method according to claim 27, comprising the steps of responding to at least said new-process signal for at least enabling storage of said translation-representative signals from said address translation means to said object means.
Claim 31
Dependent Claim 44 words
A method according to claim 28, comprising the step of responding to an initial request by the first process for write-type access to a datum subsequent to said new-process signal for storing said translation-representative signals from said address translation means to said object means.
Claim 32
Dependent Claim 31 words
A method according to claim 28, comprising the step of creating a plurality of said object means, each storing translation-representative signals from the address translation means of a respective prior interval.
Claim 33
Dependent Claim 26 words
A method according to claim 30, comprising the step of linking said object means in an order based upon the recency of the associated process intervals.
Claim 34
Independent Claim 76 words
A method according to any of claims 27-31, comprising the step of responding to said new-process signal for at least enabling modification of said one or more translation-representative signals stored in said address translation means to reflect an association between at least one context address signal and at least one further storage descriptor, said further storage descriptor being initially associated with a missing datum in a set associated with the current interval of the associated process.
Claim 35
Dependent Claim 44 words
A method according to claim 32, comprising the step of responding to an initial request by the first process for write-type access to datum subsequent to said new-process signal for so modifying said one or more translation-representative signals stored in said address translation means.
Claim 36
Dependent Claim 27 words
A method according to claim 32, comprising the step of responding to a request for access to a missing datum for generating a missing-datum signal indicative thereof.
Claim 37
Dependent Claim 34 words
A method according to claim 34, comprising the step of responding to a missing-datum signal for accessing the missing datum as stored in a set associated with a prior interval of the associated process.
Claim 38
Dependent Claim 36 words
A method according to claim 35, comprising the step of accessing the missing datum as stored in a set associated with a most recent prior interval of the associated process in which that datum is stored.
Claim 39
Dependent Claim 27 words
A method according to claim 36, comprising the step of searching one or more said object means to identify a storage descriptor associated with said missing datum.
Claim 40
Dependent Claim 23 words
A method according to claim 37, comprising the step of restoring the associated process to a state associated with a prior process interval.
Claim 41
Dependent Claim 26 words
A method according to claim 38, comprising the step of transferring translation-representative signals from a selected one of said object means to said address translation means.
Claim 42
Dependent Claim 32 words
A method according to claim 27, further comprising the steps of A. providing disk means for non-volatile storage of data, and B. storing and accessing said object means on said disk means.
Claim 43
Dependent Claim 41 words
A method according to claim 40, comprising the step of A. temporarily storing at least selected other process-related information on said disk means, B. retaining at least selected object means on said disk for periods longer then said other process-related information.
Claim 44
Dependent Claim 232 words
A method according to claim 23, comprising the steps of: A. creating a second process initially duplicating said first process, and initiating generation of a new-process signal in connection with creation of said second process, B. executing said second process and generating in connection therewith at least one request for mapped access to said datum, C. responding at least to an initial request by said second process during a current interval subsequent to creation of said second process for write-type access to a datum, for i) accessing the requested datum as stored in a set associated with at least a prior interval, preferentially associated with the second process, and ii) generating a further datum initially identical to the access datum, D. storing that initially identical datum in a set in said memory means associated with the current interval of the second process, and E. responding to said initial request by the second process during said current interval for at least write-type access to a datum, as well as to subsequent requests for any of read-type and write-type access to that same datum by that same process during the current interval for accessing said initially identical datum as stored in the set associated with the current interval of the second process, and otherwise for accessing that datum as stored in a set associated with a prior interval, preferentially associated with said second process.
Claim 45
Dependent Claim 56 words
A method according to claim 23, including the step of executing at least one of the following operations: A. responding to a designated event for generating a new-process signal, B. responding to operator input for generating a new-process signal, and C. responding to execution of at least a selected programming instruction for generating a new-process signal.
Claim 46
Dependent Claim 22 words
A method according to claim 23, comprising the step of generating said one of more new-process signals as a function of time.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-05-16 1997-11-15 1998-05-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-05-16 2001-11-15 2002-05-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-05-16 2005-11-15 2006-05-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag