Method and apparatus for providing transparent persistent data support to foreign data types
First Claim
1. An instance of a data type having a data structure stored in a computer readable medium and arranged for use in maintaining a persistent data associated with the instance, the data structure comprising:
- a transient value data field for storing an internalized data format representation of the persistent data associated with the instance, he internalized data format being a format that is arranged for use with data operators provided by a computing environment under which the instance is implemented during a life cycle of the instance; and
a persistent value data field for storing an externalized data format representation of the persistent data associated with the instance, the externalized data format being a format that is arranged for surviving the life cycle of the instance, wherein the internalized and externalized data format representations of the persistent data are permitted to be different representations of the same persistent data.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention teaches a variety of methods, data structures, and apparatus. In a first embodiment of the present invention, an instance of a data type has a data structure including a transient value data field for storing an internalized data format representation of a persistent data associated with the instance and a persistent value data field for storing an externalized data format representation of the persistent data associated with the instance. The data structure provides a capability of maintaining a persistent data associated with the instance within a database in which the data type of the instance is foreign. This includes embodiments in which the database is a relational database or an object oriented database. In some embodiments, the instance is included in a persistent programming language object. A separate embodiment of the present invention teaches a computer system having a central processing unit, a transient computer readable medium accessible by the central processing unit, a persistent computer readable medium accessible by the central processing unit, and an instance of a data type having a data structure stored in the transient computer readable medium. Further implemented on the computer system is a database and a persistent storage manager. The persistent storage manager is operative to manage the database such that the persistent data associated with the instance is maintained within the database. In addition, a number of methods for providing a variety of aspects of transparent persistent data support to instances of persistent foreign data types are disclosed.
-
Citations
34 Claims
-
1. An instance of a data type having a data structure stored in a computer readable medium and arranged for use in maintaining a persistent data associated with the instance, the data structure comprising:
-
a transient value data field for storing an internalized data format representation of the persistent data associated with the instance, he internalized data format being a format that is arranged for use with data operators provided by a computing environment under which the instance is implemented during a life cycle of the instance; and a persistent value data field for storing an externalized data format representation of the persistent data associated with the instance, the externalized data format being a format that is arranged for surviving the life cycle of the instance, wherein the internalized and externalized data format representations of the persistent data are permitted to be different representations of the same persistent data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system comprising:
-
a central processing unit; a transient computer readable medium accessible by the central processing unit; a persistent computer readable medium accessible by the central processing unit; an instance of a data type having a data structure stored in the transient computer readable medium, the data structure having a transient value data field for storing an internalized data format representation of a persistent data associated with the instance and a persistent value data field for storing an externalized data format representation of the persistent data associated with the instance, wherein the internalized data format is a, format that is arranged for use with data operators provided by the computer system during a life cycle of the instance and wherein the externalized data format is a format that is arranged for surviving the life cycle of the instance the internalized and externalized data format representations of the persistent data are permitted to be different representations of the same persistent data; a database having a transient portion resident on the transient computer readable medium and a persistent portion resident on the persistent computer readable medium; and a persistent storage manager implemented on the computer systems the persistent storage manager operative to manage the database such that the persistent data associated with the instance is maintained within the database. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer System for creating a persistent programming language object having transparent persistent data support, the computer system comprising:
-
an object oriented schema tool to compile object oriented schema including a stored form of a foreign data type into a data object class; an object oriented compiler to compile an object oriented program together with the data object class into a linkable product; an object oriented linker to link the linkable product together with standard object oriented libraries and together with transparent persistence libraries into an object oriented binary file including an instance of the foreign data type, the instance including a data structure stored in a transient computer readable medium, the data structure having a transient value data field for storing an internalized data format representation of a persistent data associated with the instance and a persistent value data field for storing an externalized data format representation of the persistent data associated with the instance, wherein the internalized data format is a format that is arranged for use with data operators provided by the computer system during a life cycle of the instance and wherein the externalized data format is a format that is arranged for surviving the life cycle of the instance, the internalized and externalized data format representations of the persistent data are permitted to be different representations of the same persistent data; an object oriented database for maintaining data persistently, the foreign data type being unknown to the object oriented database; and a transparent persistence mechanism enabling the instance of the foreign data type to be maintained on the object oriented database.
-
- 20. A computer implemented method for creating a persistent instance of a foreign data type capable of receiving transparent persistent data support, the method comprising the step of providing a data structure having a transient value data field for storing an internalized data format representation of a persistent data associated with the instance and a persistent value data field, for storing an externalized data format representation of the persistent data associated with the instance, wherein the internalized data format is a format that is arranged for use with data operators provided by a computer system during a life cycle of the instance and wherein the externalized data format is a format that is arranged for surviving the life cycle of the instance. the internalized and externalized data format representations of the persistent data are permitted to be different representations of the same persistent data.
-
22. A computer implemented insertion method for providing transparent persistent data support to instances of any data type, the method comprising the computer controlled steps of:
-
(a) creating a given instance of a foreign data type including providing a data structure having a transient value data field for storing an internalized data format representation of a persistent data associated with the instance and a persistent value data field for storing an externalized data format representation of the persistent data associated with the instance, wherein the internalized data format is a format that is arranged for use with data operators provided by the computer system during a life cycle of the instance and wherein the externalized data format is a format that is arranged for surviving the life cycle of the instance, the internalized and externalized data format representations of the persistent data are permitted to he different representations of the same persistent data; (b) receiving a new value to be inserted into the persistent data associated with the given instance; (c) assigning the new value to the transient value data field; and (d) adding an instance identifier associated with the given instance to a change list, the change list capable of representing one or more instances which have data intended for a persistent storage medium present in their corresponding transient value data field. - View Dependent Claims (23, 24)
-
-
25. A computer implemented extraction method for providing transparent persistent data support to instances of any data type, the method comprising the computer controlled steps of:
-
(a) creating a given instance of a data type including a data structure having a transient value data field for storing an internalized data format representation of a persistent data associated with the given instance and a persistent value data field for storing an externalized data format representation of the persistent data associated with the given instance, wherein the internalized, data format is a format that is arranged for use with data operators provided by a computer system during a life cycle of the instance and wherein the externalized data format is a format that is arranged for surviving the life cycle of the instance, the internalized and externalized data format representations of the persistent data are permitted to be different representations of the same persistent data, (b) receiving a request to perform an extraction operation operable to extract the persistent data associated with the given instance from the given instance; and (c) determining whether the transient value data field does not contain a null value, and, if it does not, returning a value stored in the transient value data field as a result of the requested extraction operation. - View Dependent Claims (26)
-
-
27. A computer implemented deletion method for providing transparent persistent data support to instances of any data type, the method comprising the computer controlled steps of;
-
(a) creating a given instance of a data type including a data structure having a transient value data field for storing an internalized data format representation of a persistent data associated with the given instance and a persistent value data field for storing an externalized data format representation of the persistent data associated with the given instance, wherein the internalized data format is a format that is arranged for use with data operators provided by a computer system during a life cycle of the instance and wherein the externalized data format is a format that is arranged for surviving the life cycle of the instance, the internalized and externalized data format representations, of the persistent data are permitted to be different representations of the same persistent data; (b) receiving a request to perform an instance deletion operation operable to delete the given instance, (c) determining whether the transient value data field does not contain an internalized null value, and, if it does not, deleting a current transient value in the transient value data field and freeing a portion of a computer readable medium which corresponds to the transient value data field; and (d) determining whether the persistent value data field does not contain an externalized null value, and, if it does not, deleting a current persistent value in the persistent value data field and freeing a portion of the computer readable medium which corresponds to the persistent value data field. - View Dependent Claims (28, 29, 30)
-
-
31. A computer implemented data commit method for providing transparent persistent data support to instances of any data type, the method comprising the computer controlled steps of:
-
(a) creating a given instance of a data type including a data structure having a transient value data field for storing an internalized data format representation of a persistent data associated with the given instance and a persistent value data field for storing an externalized data format representation of the persistent data associated with the given instance, wherein the internalized data format is a format that is arranged for use with data operators provided by a computer system during a life cycle of the instance and wherein the externalized data, format is a format that is arranged for surviving the life cycle of the instance, the internalized and externalized data format representations of the persistent data are permitted to be different representations of the same persistent data; (b) determining whether there are more elements in a change list which need to be committed to a database, the change list capable of representing one or more instances which have data in their corresponding transient value data field intended for the database; (c) if there are more elements in the change list which need to be committed to the database, selecting a next element from the change list; (d) determining whether a transient value data field associated with the selected next element does not contain a null value, and, if it does not, externalizing a current value stored in the transient value data field associated with the selected next element and assigning the externalized value to a persistent value data field associated with the selected next element; (e) writing the externalized value associated with the selected next element into the database; and (f) repeating steps b-e until there are no further elements in the change list which need to be committed to the database. - View Dependent Claims (32, 33)
-
-
34. A computer implemented data commit method as recited in 31 further comprising the step of deleting the change list after performing step (d).
Specification