Extensible file format
First Claim
1. A method for reading an original data file to be compatible with an active version and a later version of an application program, said method comprising the steps of:
- providing a high version watermark in the original data file, the high version watermark indicating a highest version of the application program used to save the file;
comparing the high version watermark to the active version of the application program to determine whether the original data file corresponds to the later version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the original data file corresponds to the later version, said loading step comprises the steps of;
ignoring unknown information in the original data file; and
loading known information from the original data file into the active version.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention can provide an extensible file format compatible with previous, current, and future versions of an application program. The present invention can comprise including file version watermarks in an original data file of an application program. The file version watermarks can indicate various properties of the original data file. The file version watermarks can include a high version watermark, a last version watermark, a low version watermark, a creation version watermark, and an object version watermark. Each file version watermark can indicate changes, additions, or deletions made to the file. The present invention can use the file version watermarks to determine whether the file, or particular information in the file, corresponds to the previous, active, or future versions of an application program. Accordingly, the present invention can then load or save the original data file based on a result of the determination.
29 Citations
61 Claims
-
1. A method for reading an original data file to be compatible with an active version and a later version of an application program, said method comprising the steps of:
-
providing a high version watermark in the original data file, the high version watermark indicating a highest version of the application program used to save the file;
comparing the high version watermark to the active version of the application program to determine whether the original data file corresponds to the later version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the original data file corresponds to the later version, said loading step comprises the steps of;
ignoring unknown information in the original data file; and
loading known information from the original data file into the active version. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
tracking a position of objects in the object property list array; and
updating the object property list array based on the position of the objects tracked in said tracking step.
-
-
5. A method according to claim 1, wherein the unknown and known information each comprise a property of an object property list.
-
6. A method according to claim 1, further comprising the step of saving a modified version of the original data file, said saving step comprising the steps of:
-
overwriting the known information from the original data file with information from the modified version; and
retaining the unknown information from the original data file to keep the unknown information available to the later version.
-
-
7. A method according to claim 1, further comprising the steps of:
-
providing a last version watermark in the original data file, the last version watermark indicating a last version of the application program used to save the file; and
determining characteristics of the original data file by comparing the last version watermark to the active version of the application program.
-
-
8. A method according to claim 7, wherein, when said determining step determines that the last version watermark corresponds to a version of the application program that is previous to the active version, said method further comprises the step of converting information in the active version of the application program based on information in the original data file.
-
9. A method according to claim 1, further comprising the steps of:
-
providing a low version watermark in the original data file, the low version watermark indicating a lowest version of the application program used to save the file;
determining characteristics of the original data file by comparing the low version watermark to the active version of the application program.
-
-
10. A method according to claim 1, further comprising the steps of:
-
providing an object version watermark for an object in the original data file, the object version watermark indicating a lowest version of the application program that can interpret all properties in the object; and
determining characteristics of the original data file by comparing the object version watermark to an object version in the active version of the application program.
-
-
11. A computer-readable medium having computer-executable instructions for performing the method of claim 1.
-
12. A method for reading an original data file to be compatible with an active version and a previous version of an application program, said method comprising the steps of:
-
providing a high version watermark in the original data file, the high version watermark indicating a highest version of the application program used to save the file;
comparing the high version watermark to the active version of the application program to determine whether the original data file corresponds to the previous version of the application program; and
loading the original data file without changes into the active version, when said comparing step determines that the original data file corresponds to the previous version. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
providing a last version watermark in the original data file, the last version watermark indicating a last version of the application program used to save the file; and
determining characteristics of the original data file by comparing the last version watermark to the active version of the application program.
-
-
14. A method according to claim 13, wherein, when said determining step determines that the last version watermark corresponds to a version of the application program that is previous to the active version, said method further comprises the step of converting information in the active version of the application program based on information in the original data file.
-
15. A method according to claim 14, further comprising the steps of:
-
saving the information converted in said converting step; and
saving the unconverted old information from the original data file.
-
-
16. A method according to claim 14, further comprising the steps of:
-
saving the information converted in said converting step;
generating information that corresponds to the old information from the original data file; and
saving the information generated in said generating step.
-
-
17. A method according to claim 12, wherein said original data file comprises an object property list.
-
18. A method according to claim 17, wherein said object property list comprises an object property list array.
-
19. A method according to claim 18, further comprising the steps of:
-
tracking a position of objects in the object property list array; and
updating the object property list array based on the position of the objects tracked in said tracking step.
-
-
20. A computer-readable medium having computer-executable instructions for performing the method of claim 12.
-
21. A method for reading an original data file to be compatible with an active version and a previous version of an application program, said method comprising the steps of:
-
providing a last version watermark in the original data file, the last version watermark indicating a last version of the application program used to save the file;
comparing the last version watermark to the active version of the application program to determine whether the original data file corresponds to the previous version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the original data file corresponds to the previous version, said loading step comprises the steps of;
determining whether the previous version includes a deleted item that has been deleted from the active version;
ignoring old information in the original data file corresponding to the deleted item when said determining step determines that the previous version includes the deleted item; and
loading information from the original data file that corresponds to an item other than the deleted item. - View Dependent Claims (22, 23, 24, 25, 26)
saving a modified version of the original data file; and
saving information corresponding to the deleted item of the original data file.
-
-
25. A method according to claim 21, further comprising the steps of:
-
saving a modified version of the original data file;
generating information that corresponds to the deleted item from the original data file; and
saving the information generated in said generating step.
-
-
26. A computer-readable medium having computer-executable instructions for performing the method of claim 21.
-
27. A method for reading an original data file to be compatible with an active version and a previous version of an application program, said method comprising the steps of:
-
providing a last version watermark in the original data file, the last version watermark indicating a last version of the application program used to save the file;
comparing the last version watermark to the active version of the application program to determine whether the original data file corresponds to the previous version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the original data file corresponds to the previous version, said loading step comprises the steps of;
determining whether the active version includes a modified item related to old information in the original data file;
converting the old information from the original data file to information corresponding to the modified item when said determining step determines that the active version includes the modified item related to the old information in the original data file; and
loading the information converted in said converting step into the active version. - View Dependent Claims (28, 29, 30, 31)
saving the information corresponding to the modified item;
converting, in a second converting step, the information corresponding to the modified item to information corresponding to the old information and readable by the previous version; and
saving the converted information from said second converting step.
-
-
31. A computer-readable medium having computer-executable instructions for performing the method of claim 27.
-
32. A method for reading an original data file to be compatible with an active version, a previous version, and a later version of an application program, said method comprising the steps of:
-
providing a high version watermark in the original data file, the high version watermark indicating a highest version of the application program used to save the file;
providing a last version watermark in the original data file, the last version watermark indicating a last version of the application program used to save the file;
comparing the high version watermark to the active version of the application program to determine whether the original data file contains properties corresponding to one of the previous version, the active version, and the later version of the application program;
comparing the last version watermark to the active version of the application program to determine whether the original data file contains additional properties corresponding to one of the previous version, the active version, and the later version of the application program; and
loading the original data file into the active version, wherein, when said comparing steps determine that the original data file contains properties corresponding to different versions of the application program, said loading step comprises the steps of;
determining which properties of the original data file are current and which properties of the original data file are outdated;
loading the original data file into the active version based on the current properties determined in said determining step; and
ignoring the outdated properties determined in said determining step.
-
-
33. A method for reading an original data file to be compatible with an active version, a previous version, and a later version of an application program, said method comprising the steps of:
-
providing a last version watermark in the original data file, the last version watermark indicating a last version of the application program used to save the file;
comparing the last version watermark to the active version of the application program to determine whether the last version used to save the original data file corresponds to a previous version of the application program;
converting information in the active version of the application program based on information in the original data file, when said comparing step determines that the last version used to save the original data file corresponds to a previous version; and
loading the information converted in said converting step.
-
-
34. A method for reading an original data file to be compatible with an active version and a later version of an application program, where the original data file comprises an object property list, said method comprising the steps of:
-
providing an object version watermark for an object in the object property list of the original data file, the object version watermark indicating a lowest version of the application program that can interpret all properties contained in the object;
comparing the object version watermark of the object to an object version in the active version of the application program to determine whether the object corresponds to the later version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the object corresponds to the later version, said loading step comprises the steps of;
ignoring unknown information corresponding to the object in the original data file; and
loading known information corresponding to the object in the original data file into the active version. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42)
tracking a position of objects in the object property list array; and
updating the object property list array based on the position of the objects tracked in said tracking step.
-
-
37. A method according to claim 34, wherein the unknown and known information each comprise a property of the object property list.
-
38. A method according to claim 34, further comprising the step of saving a modified version of the original data file, said saving step comprising the steps of:
-
overwriting the known information corresponding to the object in the object property list of the original data file with information from the modified version; and
retaining the unknown information corresponding to the object in the object property list of the original data file to keep the unknown information available to the later version.
-
-
39. A method according to claim 34, further comprising the steps of:
-
providing a last version object watermark in the original data file, the last version object watermark indicating a last version of the application program used to write the object; and
determining characteristics of the object in the original data file by comparing the last version object watermark to the active version of the application program.
-
-
40. A method according to claim 39, wherein, when said determining step determines that the last version object watermark corresponds to a version of the application program that is previous to the active version, said method further comprises the step of converting information in the active version of the application program based on information corresponding to the object in the original data file.
-
41. A method according to claim 40, further comprising the steps of:
-
updating the object property list to include the information converted in said converting step; and
retaining the old information in the object property list.
-
-
42. A computer-readable medium having computer-executable instructions for performing the method of claim 34.
-
43. A method for reading an original data file to be compatible with an active version and a previous version of an application program, wherein the original data file comprises an object property list, said method comprising the steps of:
-
providing an object version watermark for an object in the object property list of the original data file, the object version watermark indicating a lowest version of the application program that can interpret all properties contained in the object;
comparing the object version watermark of the object to an object version in the active version of the application program to determine whether the object in the original data file corresponds to the previous version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the object in the original data file corresponds to the previous version, said loading step comprises the steps of;
converting old information corresponding to the object in the original data file to a format of the active version; and
loading the information converted in said converting step into the active version. - View Dependent Claims (44, 45, 46, 47, 48)
tracking a position of objects in the object property list array; and
updating the object property list array based on the position of the objects tracked in said tracking step.
-
-
46. A method according to claim 43, further comprising the steps of:
-
saving the information converted in said converting step; and
saving the unconverted old information from the original data file.
-
-
47. A method according to claim 43, further comprising the steps of:
-
saving the information converted in said converting step;
generating information that corresponds to the old information from the original data file; and
saving the information generated in said generating step.
-
-
48. A computer-readable medium having computer-executable instructions for performing the method of claim 43.
-
49. A method for reading an original data file to be compatible with an active version and a previous version of an application program, wherein the original data file comprises an object property list, said method comprising the steps of:
-
providing an object version watermark for an object in the object property list of the original data file, the object version watermark indicating a lowest version of the application program that can interpret all properties contained in the object;
comparing the object version watermark to an object version in the active version of the application program to determine whether the object in the original data file corresponds to the previous version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the object in the original data file corresponds to the previous version, said loading step comprises the steps of;
determining whether the previous version includes a deleted item that has been deleted from the active version;
ignoring old information in the original data file corresponding to the deleted item when said determining step determines that the previous version includes the deleted item; and
loading information from the original data file that corresponds to an item other than the deleted item. - View Dependent Claims (50, 51, 52, 53, 54)
saving a modified version of the original data file; and
saving information corresponding to the deleted item of the original data file.
-
-
53. A method according to claim 52, wherein the information corresponding to the deleted item of the original data file comprises one of information derived from default values and information based on other properties in the active version.
-
54. A computer-readable medium having computer-executable instructions for performing the method of claim 49.
-
55. A method for reading an original data file to be compatible with an active version and a previous version of an application program, wherein the original data file comprises an object property list, said method comprising the steps of:
-
providing an object version watermark for an object in the object property list of the original data file, the object version watermark indicating a lowest version of the application program that can interpret all properties contained in the object;
comparing the object version watermark to the object version in the active version of the application program to determine whether the object in the original data file corresponds to the previous version of the application program; and
loading the original data file into the active version, wherein, when said comparing step determines that the object in the original data file corresponds to the previous version, said loading step comprises the steps of;
determining whether the active version includes a modified item related to old information in the original data file;
converting the old information from the original data file to information corresponding to the modified item, when said determining step determines that the active version includes the modified item related to the old information in the original data file; and
loading the information converted in said converting step into the active version. - View Dependent Claims (56, 57, 58, 59)
saving the information corresponding to the modified item;
converting, in a second converting step, the information corresponding to the modified item to information corresponding to the old information and readable by the previous version; and
saving the converted information from said second converting step.
-
-
59. A computer-readable medium having computer-executable instructions for performing the method of claim 55.
-
60. A data file that is readable by an active version of an application program and by a later version of the application program, comprising:
-
an object;
an object property list array having at least one known property associated with the object, the known property being known to the active version, and having at least one unknown property associated with the object, the unknown property being unknown to the active version; and
an object version watermark indicating a lowest version of the application program that can interpret all properties contained in the object, wherein the active version of the application program is operative to compare the object version watermark to a version number associated with the active version and to ignore the unknown property in response to a determination that the object version watermark is greater than the version number associated with the active version.
-
-
61. A data file that is readable by an active version of an application program and by a previous version of the application program, comprising:
-
an object;
an object property list array having at least one property associated with the object and corresponding to the previous version; and
an object version watermark indicating a lowest version of the application program that can interpret all properties contained in the object, wherein the active version of the application program is operative to compare the object version watermark to a version number associated with the active version and to update another property associated with the object and corresponding to the active version based on a property of the at least one property in the data file, in response to a determination that the object version watermark is less than the version number associated with the active version.
-
Specification