Methods and apparatus for providing transparent persistence in a distributed object operating environment
First Claim
1. A computer-implemented method for providing transparent persistent data support to distributed objects instantiated within a distributed object system wherein an instance of a servant object class is instantiated having a transient data portion in which transient data can be stored and a data object in which a finite, predefined amount of persistent data can be stored, the method comprising the steps of:
- a) providing a particular servant object that is a particular instance of the servant object class, the particular servant object having an associated transient data portion in which transient data can be stored, an associated data object in which a finite, predefined amount of persistent data can be stored and a data object pointer that indirects to the associated data object, wherein the particular servant object inherits the data object from a data object class;
b) providing a persistent data storage mechanism having a persistent data object in which persistent data can be stored and a persistent data pointer that indirects to the persistent data object, the amount of persistent data which can be stored in the persistent data object substantially exceeding the finite, predefined amount of persistent data which can be stored in the associated data object, the persistent data storage mechanism operating independent of the particular servant object;
c) determining the value of the data object pointer; and
d) locating the data object pointer within the particular servant object and replacing the data object pointer with the persistent data pointer thereby providing transparent persistent data support to the particular servant object.
1 Assignment
0 Petitions
Accused Products
Abstract
A number of methods and apparatus are disclosed for providing transparent persistence in a distributed object operating environment are disclosed. In general, the present invention teaches replacing the value in the object'"'"'s data pointer (addressing information which points to the objects limited persistent memory) with a pointer value which points out to another persistent storage device. In preferred embodiments, a persistent storage manager (external and transparent to the distributed object) maintains the object data. In a specific embodiment, a distributed object framework is provided which has the mechanism for providing the transparent persistent strategy of the present invention. An object developer develops object implementations which the distributed object generates distributed objects with, in the process automatically providing transparent persistence.
115 Citations
27 Claims
-
1. A computer-implemented method for providing transparent persistent data support to distributed objects instantiated within a distributed object system wherein an instance of a servant object class is instantiated having a transient data portion in which transient data can be stored and a data object in which a finite, predefined amount of persistent data can be stored, the method comprising the steps of:
-
a) providing a particular servant object that is a particular instance of the servant object class, the particular servant object having an associated transient data portion in which transient data can be stored, an associated data object in which a finite, predefined amount of persistent data can be stored and a data object pointer that indirects to the associated data object, wherein the particular servant object inherits the data object from a data object class; b) providing a persistent data storage mechanism having a persistent data object in which persistent data can be stored and a persistent data pointer that indirects to the persistent data object, the amount of persistent data which can be stored in the persistent data object substantially exceeding the finite, predefined amount of persistent data which can be stored in the associated data object, the persistent data storage mechanism operating independent of the particular servant object; c) determining the value of the data object pointer; and d) locating the data object pointer within the particular servant object and replacing the data object pointer with the persistent data pointer thereby providing transparent persistent data support to the particular servant object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program stored on a computer readable medium, the execution of the computer program suitable for providing transparent persistent data support to distributed objects instantiated within a distributed object system wherein an instance of a servant object class is instantiated having a transient data portion in which transient data can be stored and a data object in which a finite, predefined amount of persistent data can be stored, the computer program comprising computer executable instructions for:
-
a) providing a particular servant object that is a particular instance of the servant object class, the particular servant object having an associated transient data portion in which transient data can be stored, an associated data object in which a finite, predefined amount of persistent data can be stored and a data object pointer that indirects to the associated data object, wherein the particular servant object inherits the data object from a data object class; b) providing a persistent data storage mechanism having a persistent data object in which persistent data can be stored and a persistent data pointer that indirects to the persistent data object, the amount of persistent data which can be stored in the persistent data object substantially exceeding the finite, predefined amount of persistent data which can be stored in the associated data object, the persistent data storage mechanism operating independent of the particular servant object; c) determining the value of the data object pointer; and d) locating the data object pointer within the particular servant object and replacing the data object pointer with the persistent data pointer thereby providing transparent persistent data support to the particular servant object. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer system operating under a distributed object system wherein an instance of a servant object class is instantiated having a transient data portion in which transient data can be stored and a data object in which a finite, predefined amount of persistent data can be stored, the computer system comprising:
-
a central processing unit; a persistent data storage device; a transient data storage device; a particular servant object that is a particular instance of the servant object class, the particular servant object having an associated transient data portion in which transient data can be stored, an associated data object in which a finite, predefined amount of persistent data can be stored and a data object pointer that indirects to the associated data object, wherein the particular servant object inherits the data object from a data object class; a persistent data storage mechanism having a persistent data object in which persistent data can be stored and a persistent data pointer that indirects to the persistent data object, the amount of persistent data which can be stored in the persistent data object substantially exceeding the finite, predefined amount of persistent data which can be stored in the associated data object, the persistent data storage mechanism operating independent of the particular servant object; a data object pointer swapping mechanism operable to determine the value of the data object pointer, locate the data object pointer within the particular servant object and replace the data object pointer with the persistent data pointer thereby providing transparent persistent data support to the particular servant object. - View Dependent Claims (24, 25, 26, 27)
-
Specification