US5524190A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Command object logging system for restoring documents
Assignee: Apple Inc
•
Filing: 1993-06-04
•
Granted: 1996-06-04
•
Expires: 2013-06-04
Abstract
Abstract A method and system for automatically saving changes of a document as they occur is disclosed. An object oriented framework is used to facilitate the processing and assure document integrity throughout the processing.
Inventors
- 👤 Arnold Schaeffer
- 👤 Jack H. Palevich
- 👤 David R. Anderson
- 👤 Larry S. Rosenstein
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 14:33
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/14; G06F11/1446; G06F11/1471; G06F40/00; G06F40/10; G06F40/166; G06F40/194
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
193 words
An apparatus for modifying, in response to user open, modify and save commands, document data representing an original document, the document data being resident in a non-volatile storage, the apparatus comprising: (a) means responsive to a user open command for copying the original document data into a workspace of a volatile storage; (b) means responsive to each user modify command for creating a command object containing command data identifying a portion of the original document data in the workspace and command methods for modifying the original document data portion; (c) means responsive to each command object for executing command methods in each command object to modify the original document data portion in the workspace to create a modified document data portion in the workspace; (d) means responsive to each user modify command for storing the created command object in a log in the non-volatile storage; (e) means responsive to a user save command for overwriting the original document data in the non-volatile storage with modified document data in the workspace; and (f) means responsive to the overwriting of the original document data for erasing command objects in the log in the non-volatile storage.
Claim 2
Independent Claim
193 words
An apparatus for modifying, in response to user open, modify and save commands, document data representing an original document, the document data being resident in a non-volatile storage, the apparatus comprising: (a) means responsive to a user open command for copying the original document data into a workspace of a volatile storage; (b) means responsive to each user modify command for creating a command object containing command data identifying a portion of the original document data in the workspace and command methods for modifying the original document data portion; (c) means responsive to each command object for executing command methods in each command object to modify the original document data portion in the workspace to create a modified document data portion in the workspace; (d) means responsive to each user modify command for storing the created command object in a log in the non-volatile storage; (e) means responsive to a user save command for overwriting the original document data in the non-volatile storage with modified document data in the workspace; and (f) means responsive to the overwriting of the original document data for erasing command objects in the log in the non-volatile storage.
Claim 3
Dependent Claim
34 words
The apparatus as recited in claim 1 wherein the command object contains undo command methods for operating on the modified document data portion to restore the modified data portion to the original data portion.
Claim 4
Dependent Claim
29 words
The apparatus as recited in claim 1 wherein the command object contains redo command methods for operating on the original document data portion to regenerate the modified data portion.
Claim 5
Dependent Claim
24 words
The apparatus as recited in claim 1 further comprising means for containing the original document data and a log for storing the command objects.
Claim 6
Dependent Claim
35 words
The apparatus of claim 1 wherein the means for storing includes a queue in the volatile storage for temporarily retaining command objects before the command objects are written to the log by the storing means.
Claim 7
Dependent Claim
42 words
The apparatus of claim 5 wherein the storing means includes processing means for removing the command objects from the queue and storing the command objects to the log as a task with lower priority than a priority of a document processing task.
Claim 8
Dependent Claim
72 words
The apparatus of claim 1 further including means for restoring a document after a crash including: means for accessing the original document data in the non-volatile storage, which data was not completely overwritten by the overwriting means as a result of the crash; means for obtaining the command objects in the log; means for applying command objects obtained from the log to the means for executing command methods in each command object.
Claim 9
Dependent Claim
36 words
The apparatus of claim 7 wherein the restoring means further includes means for erasing the log after the document is restored by applying all of the command objects in the log to the original document data.
Claim 10
Independent Claim
194 words
A method for modifying, in response to user open, modify and save commands, document data representing an original document, the document data being resident in a non-volatile storage, the method comprising the steps of: (a) copying the original document data into a workspace of a volatile storage in response to a user open command; (b) creating a command object containing command data identifying a portion of the original document data in the workspace and command methods for modifying the original document data portion in the workspace in response to each user modify command; (c) executing command methods in each command object to modify the original document data portion in the workspace to create a modified document data portion in the workspace in response to each command object; and (d) storing the created command object in a leg in the non-volatile storage in response to each user modify command; (e) overwriting the original document data in the non-volatile storage with modified document data in the workspace in response to a user save command; and (f) erasing command objects in the log in the non-volatile storage in response to the overwriting of the original document data.
Claim 11
Independent Claim
194 words
A method for modifying, in response to user open, modify and save commands, document data representing an original document, the document data being resident in a non-volatile storage, the method comprising the steps of: (a) copying the original document data into a workspace of a volatile storage in response to a user open command; (b) creating a command object containing command data identifying a portion of the original document data in the workspace and command methods for modifying the original document data portion in the workspace in response to each user modify command; (c) executing command methods in each command object to modify the original document data portion in the workspace to create a modified document data portion in the workspace in response to each command object; and (d) storing the created command object in a leg in the non-volatile storage in response to each user modify command; (e) overwriting the original document data in the non-volatile storage with modified document data in the workspace in response to a user save command; and (f) erasing command objects in the log in the non-volatile storage in response to the overwriting of the original document data.
Claim 12
Dependent Claim
42 words
The method as recited in claim 9 wherein step (b) comprises the step of: (b1) creating a command object containing undo command methods for operating on the modified document data portion to restore the modified data portion to the original data portion.
Claim 13
Dependent Claim
37 words
The method as recited in claim 9 wherein step (b) comprises the step of: (b2) creating a command object containing redo command methods for operating on the original document data portion to regenerate the modified data portion.
Claim 14
Dependent Claim
30 words
The method as recited in claim 9 further comprising the step of: (g) creating a mechanism for containing the original document data and a log for storing the command objects.
Claim 15
Dependent Claim
32 words
The method of claim 9 wherein step (d) includes the step of (d.1) retaining a queue resident in the volatile storage for retaining command objects before they are written to the log.
Claim 16
Dependent Claim
34 words
The method of claim 13 wherein step (d) further includes the step of (d.2) moving the command objects from the queue to the log as a lower priority task than a document processing task.
Claim 17
Dependent Claim
66 words
The method of claim 9 further including the step of (g) restoring a document after a crash from the document data in the non-volatile storage, which data was not completely overwritten as a result of the crash by accessing the document data on the non-volatile storage, obtaining command objects from the log, and executing command methods in each obtained command object to modify the document data.
Claim 18
Dependent Claim
16 words
The method of claim 15 further including the step (h) after step (g), erasing the log.
References Cited (Backward Citations)
EP0098928A2
Cited
US4507751A
Cited
EP0097239A2
Cited
US4821220A
Cited
US4885717A
Cited
EP0280773A2
Cited
US5072412A
Cited
US5150458A
Cited
US4974173A
Cited
US4945474A
Cited
US5043866A
Cited
US4891630A
Cited
US4953080A
Cited
US5136705A
Cited
US5107443A
Cited
US5121478A
Cited
US5041992A
Cited
US5159669A
Cited
US5133075A
Cited
US5089958A
Cited
US5050090A
Cited
US5060276A
Cited
US5125091A
Cited
US5181162A
Cited
US5093914A
Cited
US5075848A
Cited
EP0465018A2
Cited
US5151987A
Cited
EP0483038A2
Cited
US5119475A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-06-04 | 1999-12-04 | 2000-06-04 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-06-04 | 2003-12-04 | 2004-06-04 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-06-04 | 2007-12-04 | 2008-06-04 | $7700.00 | Window Closed / Lapsed |