← Back to Patent Explorer
US5864864A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for providing transparent persistent data support to foreign data types

Assignee: Oracle America Inc
•
Filing: 1995-09-27
•
Granted: 1999-01-26
•
Expires: 2015-09-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Benjamin Lerner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 20:00
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F9/4493; G06F16/00; G06F16/20; G06F16/28; G06F16/289; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99941; Y10S707/99942; Y10S707/99943

Claims Analysis

Total Claims: 43
Claim 1
Independent Claim 148 words
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.
Claim 2
Dependent Claim 148 words
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.
Claim 3
Dependent Claim 22 words
An instance as recited in claim 1 wherein the externalized data format representation is arranged for storage in a persistent storage medium.
Claim 4
Dependent Claim 21 words
An instance as recited in claim 1 wherein the externalized data format representation is arranged for transmission over a computer network.
Claim 5
Dependent Claim 41 words
An instance as recited in claim 1 wherein the instance is implemented under a computing environment including a persistent storage manager which maintains a database in the computer readable medium, the database capable of storing persistent data associated with the instance.
Claim 6
Dependent Claim 44 words
An instance as recited in claim 4 wherein the computer readable medium includes a transient memory and a persistent memory, and wherein the data structure is maintained in the transient memory and the persistent data associated with the object is maintained in persistent memory.
Claim 7
Dependent Claim 34 words
An instance as recited in claim 4 wherein the persistent storage manager and he database comprise an object oriented database and the data type of the instance is foreign to the object oriented database.
Claim 8
Dependent Claim 18 words
An instance as recited in claim 6 wherein the instance is included in a persistent programming language object.
Claim 9
Dependent Claim 16 words
An instance as recited in claim 6 wherein the instance is included in a distributed object.
Claim 10
Dependent Claim 32 words
An instance as recited in claim 4 wherein the persistent storage manager and the database comprise a relational database and the data type of the instance is foreign to the relational database.
Claim 11
Dependent Claim 219 words
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.
Claim 12
Dependent Claim 219 words
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.
Claim 13
Dependent Claim 35 words
A computer system as recited in claim 10 wherein the database and the persistent storage manager comprise an object oriented database and the data type of the instance is foreign to the object oriented database.
Claim 14
Dependent Claim 34 words
A computer system as recited in claim 10 wherein the database and the persistent storage manager comprise a relational database and the data type of the instance is foreign to the object oriented database.
Claim 15
Dependent Claim 18 words
A computer system as recited in claim 10 wherein the transient computer readable medium includes random access memory.
Claim 16
Dependent Claim 28 words
A computer system as recited in claim 12 wherein the transient computer readable medium includes a portion of a mass storage device set aside as a virtual memory.
Claim 17
Dependent Claim 19 words
A computer system as recited in claim 10 wherein the persistent computer readable medium includes a mass storage device.
Claim 18
Dependent Claim 19 words
A computer system as recited in claim 10 wherein the instance is contained in a persistent programming language object.
Claim 19
Dependent Claim 17 words
A computer system as recited in claim 10 wherein the instance is contained in a distributed object.
Claim 20
Dependent Claim 21 words
A distributed object operating environment comprising a plurality of computer systems as recited in claim 17 interconnected by a computer network.
Claim 21
Dependent Claim 266 words
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.
Claim 22
Dependent Claim 266 words
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.
Claim 23
Dependent Claim 143 words
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.
Claim 24
Dependent Claim 143 words
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.
Claim 25
Dependent Claim 35 words
A computer implemented method as recited in claim 20 further including the steps of: storing an internalized null value in the transient data field; and storing an externalized null value in the persistent data field.
Claim 26
Dependent Claim 222 words
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.
Claim 27
Dependent Claim 222 words
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.
Claim 28
Dependent Claim 122 words
A computer implemented method as recited in claim 22 further including the following computer controlled steps performed after execution of step (c) but prior to execution of step (d): determining whether the transient value data field does not contain a 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 determining whether the persistent value data field does not contain a 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.
Claim 29
Dependent Claim 83 words
A computer implemented method as recited in claim 22 wherein the change list is a linked list which has an associated mutual exclusion lock and the step (d) includes the following substeps of: locking the mutual exclusion lock associated with the change list thereby preventing separate entities from accessing the change list; appending the instance identifier to the change list; and unlocking the mutual exclusion lock associated with the change list thereby releasing the change list to be accessed by the separate entities.
Claim 30
Dependent Claim 214 words
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.
Claim 31
Dependent Claim 214 words
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.
Claim 32
Dependent Claim 64 words
A method as recited in claim 25 wherein when the transient value data field does contain the null value, the method further comprises the computer controlled steps of: (d) internalizing a value stored in the persistent value data field; (e) assigning the internalized value to the transient value data field; and (f) returning the internalized value as the result of the requested extraction operation.
Claim 33
Dependent Claim 265 words
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.
Claim 34
Dependent Claim 265 words
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.
Claim 35
Dependent Claim 58 words
A computer implemented deletion method as recited in claim 27 further comprising the computer controlled step of (e) removing any instance identifiers which identify the given instance from 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.
Claim 36
Dependent Claim 94 words
A computer implemented deletion method as recited in claim 28 wherein the change list is a linked list which has an associated mutual exclusion lock and the step (e) includes the following substeps: locking the mutual exclusion lock associated with the change list thereby preventing separate entities from accessing the change list; deleting any instance identifiers which identify the given instance from the change list while concurrently reconnecting the linked list; and unlocking the mutual exclusion lock associated with the change list thereby releasing the change list to be accessed by the separate entities.
Claim 37
Dependent Claim 32 words
A computer implemented method as recited in claim 27 further including the step of (f) calling a database manager to delete the given instance from a database managed by the database manager.
Claim 38
Dependent Claim 318 words
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.
Claim 39
Dependent Claim 318 words
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.
Claim 40
Dependent Claim 66 words
A computer implemented data commit method as recited in claim 31 wherein a cache portion of the database is stored in transient computer readable medium and a persistent portion of the database is stored in a persistent computer readable medium and wherein the writing step (e) is operable to write the externalized value associated with the selected next element into the cache portion of the database.
Claim 41
Dependent Claim 41 words
A computer implemented data commit method as recited in claim 32 further comprising the computer controlled step of calling a database commit routine operable to commit data from the cache portion of the database into the persistent portion of the database.
Claim 42
Dependent Claim 23 words
A computer implemented data commit method as recited in 31 further comprising the step of deleting the change list after performing step (d).
Claim 43
Dependent Claim 23 words
A computer implemented data commit method as recited in 31 further comprising the step of deleting the change list after performing step (d).

References Cited (Backward Citations)

US5008786A Cited
US5206951A Cited
US5437027A Cited
US5504895A Cited
WO1995000907A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-01-25 2002-07-27 2003-01-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-01-25 2006-07-27 2007-01-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-01-25 2010-07-27 2011-01-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag