Data processing system with data recovery
First Claim
Patent Images
1. A data processing system comprising an application program for user interaction with stored data, comprising:
- (a) means for generating and editing data files, each data file comprising an array of main data objects, each of the main data objects having a unique address with respect to the other main data objects of the array;
(b) means for storing the data files in non-volatile memory;
(c) the means for generating comprising;
(i) means for receiving in working memory user input defining the address of a main data object of a particular data file, and elements to be included therein;
(ii) means for generating a modified data object from the main data object; and
(iii) means for appending the modified data object with the address thereof to a stored counterpart of the data file;
(d) means for identifying a most recently appended data object having a particular address; and
(e) means for inserting the most recently appended data object as one of the main data objects,whereby, in the event that the content of the working memory is lost, the content of the data file, including the most recently appended data object, is recoverable from the stored counterpart of the data file.
4 Assignments
0 Petitions
Accused Products
Abstract
An integrated multi-application data processing system for generating, storing, and retrieving data files, each data file having an array of data cells, which includes a program framework providing a common user interface for at least one application program for user interaction with one or more of the data files. Each of the data cells, which can contain a single data object that includes an object type code and object content, has a unique address with respect to all cells in data files generated by the system.
51 Citations
17 Claims
-
1. A data processing system comprising an application program for user interaction with stored data, comprising:
-
(a) means for generating and editing data files, each data file comprising an array of main data objects, each of the main data objects having a unique address with respect to the other main data objects of the array; (b) means for storing the data files in non-volatile memory; (c) the means for generating comprising; (i) means for receiving in working memory user input defining the address of a main data object of a particular data file, and elements to be included therein; (ii) means for generating a modified data object from the main data object; and (iii) means for appending the modified data object with the address thereof to a stored counterpart of the data file; (d) means for identifying a most recently appended data object having a particular address; and (e) means for inserting the most recently appended data object as one of the main data objects, whereby, in the event that the content of the working memory is lost, the content of the data file, including the most recently appended data object, is recoverable from the stored counterpart of the data file.
-
-
2. The system of claim 1, wherein generating and editing is performed in sessions, the system further comprising means for appending a version mark to the stored counterpart of the data file at the conclusion of each session, the version mark being distinguishable from other version marks appended to the stored counterpart of the data file.
-
3. The system of claim 2, wherein the version mark comprises date and time information.
-
4. The system of claim 3, wherein the version mark further comprises author information.
-
5. The system of claim 3, wherein the version mark further comprises application information.
-
6. The system of claim 2, further comprising means for activation of the data file to an intermediate state conesponding to a user selected version.
-
7. The system of claim 2, further comprising means for activation of the data file to plural intermediate states conesponding to a sequence of versions.
-
8. The system of claim 7, further comprising means for selecting a particular one of the plural intermediate states for further user interaction.
-
9. The system of claim 8, further comprising:
-
(a) means for selectively accepting and rejecting particular data objects associated with the selected intermediate state corresponding to a selected version; (b) means for selectively accepting a terminal subset of the data objects associated with the selected version; and (c) means for selectively accepting and rejecting a terminal subset of the data objects associated with the selected version together with all subsequent versions.
-
-
10. The system of claim 1, wherein the editing is performed in sessions, the editing including operations affecting multiple data objects, and wherein the means for generating further comprises:
-
(a) means for recording a macro of operations to be performed on data objects as defined in an editing session; (b) means for appending the macro to the stored counterpart of the data file; and (c) means for executing the macro in a subsequent editing session.
-
-
11. The system of claim 10, wherein the means for executing the macro is activated upon activation of the data file.
-
12. The system of claim 10, wherein the means for executing the macro is activated upon deactivation of the data file.
-
13. A method for data processing using an application program, comprising:
-
(a) generating a data file comprising an array of data objects, wherein each data object includes a unique object address with respect to the other data objects of the array; (b) storing the data file in non-volatile memory; (c) receiving in working memory user input defining the address of a main data object of the data file, and elements to be included therein; (d) generating a modified data object from the main data object; (e) appending the modified data object with the address thereof to a stored counterpart of the data file; (f) identifying a most recently appended data object having the address thereof; and (g) inserting into the data file the most recently appended data object as the main data object.
-
-
14. A method for data processing using an application program, comprising:
-
(a) generating a data file comprising an array of data objects, wherein each data object includes a unique object address with respect to the other data objects of the array; (b) storing the data file in non-volatile memory; (c) receiving in working memory user input defining the address of a main data object of the data file, and elements to be included therein; (d) generating a modified data object from the main data object by editing the data file, the generating and editing being performed in sessions during which the data file is active; (e) appending the modified data object with the address thereof to a stored counterpart of the data file, wherein a version mark is appended to the stored counterpart of the data file at the conclusion of each session, the version mark being distinguishable from other version marks appended to the stored counterpart of the data file; (f) identifying a most recently appended data object having the address thereof; and (g) inserting the most recently appended data object as the main data object into the data file.
-
-
15. The method of claim 14, wherein the appending comprises including date and time information in association with the version mark.
-
16. The method of claim 15, wherein the appending further comprises including author information in association with the version mark.
-
17. The system of claim 15, wherein the appending further comprises including application information in association with the version mark.
Specification