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

Methods and apparatus for providing transparent persistence in a distributed object operating environment

Assignee: Sun Microsystems Inc
•
Filing: 1995-03-31
•
Granted: 1997-11-25
•
Expires: 2015-03-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Mark W. Hapner
  • 👤 Alan Snyder

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 21:44
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F9/4493; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 255 words
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.
Claim 2
Dependent Claim 255 words
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.
Claim 3
Dependent Claim 24 words
The computer-implemented method of claim 1, wherein the persistent data storage mechanism comprises a persistent database which is coupled to the persistent data object.
Claim 4
Dependent Claim 16 words
The computer-implemented method of claim 2, wherein the persistent database mechanism includes a persistent storage manager.
Claim 5
Dependent Claim 36 words
The computer-implemented method of claim 1, wherein said step of determining comprises the step of performing a widening function on the particular servant object to determine thereby the data object pointer in the data object class.
Claim 6
Dependent Claim 38 words
The computer-implemented method of claim 4, wherein the step of locating comprises searching the memory location of the particular servant object to obtain the location of an address space containing a value identical to the data object pointer.
Claim 7
Dependent Claim 38 words
The computer-implemented method of claim 5, wherein said step of locating further comprises the step of searching the entire memory space of the particular servant object to verify the uniqueness of the address of the data object pointer.
Claim 8
Dependent Claim 63 words
The computer-implemented method of claim 1, wherein the particular servant object is a distributed object located in the memory of a computer on a distributed object system, which distributed object system includes a plurality of networked computers having memories in which distributed objects and clients are located and which distributed objects communicate using an object request broker mechanism and an object adapter mechanism.
Claim 9
Dependent Claim 30 words
The computer-implemented method of claim 7, wherein the steps a)-d) are performed in response to an invocation of the particular servant object by a client on the distributed object system.
Claim 10
Dependent Claim 27 words
The computer-implemented method of claim 7, wherein the steps a)-d) are performed during the creation and installation of the particular servant object on the distributed object system.
Claim 11
Dependent Claim 16 words
A distributed object having transparent persistent data support formed by the computer-implemented method of claim 1.
Claim 12
Dependent Claim 26 words
A method as recited in claim 1 wherein the distributed object system adheres to the CORBA specification and the particular servant object is a CORBA object.
Claim 13
Dependent Claim 270 words
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.
Claim 14
Dependent Claim 270 words
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.
Claim 15
Dependent Claim 26 words
A computer program as recited in claim 12, wherein the persistent data storage mechanism comprises a persistent database which is coupled to the persistent data object.
Claim 16
Dependent Claim 18 words
A computer program as recited in claim 13, wherein the persistent database mechanism includes a persistent storage manager.
Claim 17
Dependent Claim 40 words
A computer program as recited in claim 12, wherein said computer executable instruction for determining comprises the step of performing a widening function on the particular servant object to determine thereby the data object pointer in the data object class.
Claim 18
Dependent Claim 42 words
A computer program as recited in claim 15, wherein the computer executable instruction for locating comprises searching the memory location of the particular servant object to obtain the location of an address space containing a value identical to the data object pointer.
Claim 19
Dependent Claim 39 words
A computer program as recited in claim 16, wherein the computer executable instruction for locating further comprises searching the entire memory space of the particular servant object to verify the uniqueness of the address of the data object pointer.
Claim 20
Dependent Claim 65 words
A computer program as recited in claim 12, wherein the particular servant object is a distributed object located in the memory of a computer on a distributed object system, which distributed object system includes a plurality of networked computers having memories in which distributed objects and clients are located and which distributed objects communicate using an object request broker mechanism and an object adapter mechanism.
Claim 21
Dependent Claim 34 words
A computer program as recited in claim 18, wherein the computer executable instructions a)-d) are performed in response to an invocation of the particular servant object by a client on the distributed object system.
Claim 22
Dependent Claim 29 words
A computer program as recited in claim 18, wherein the steps a)-d) are performed during the creation and installation of the particular servant object on the distributed object system.
Claim 23
Dependent Claim 18 words
A distributed object having transparent persistent data support formed by execution of the computer program of claim 12.
Claim 24
Dependent Claim 27 words
A computer program as recited in claim 12, wherein the distributed object system adheres to the CORBA specification and the particular servant object is a CORBA object.
Claim 25
Dependent Claim 259 words
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.
Claim 26
Dependent Claim 259 words
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.
Claim 27
Dependent Claim 26 words
A computer system as recited in claim 23 wherein the persistent data storage mechanism comprises a persistent database which is coupled to the persistent data object.
Claim 28
Dependent Claim 18 words
A computer system as recited in claim 24, wherein the persistent database mechanism includes a persistent storage manager.
Claim 29
Dependent Claim 21 words
A computer system as recited in claim 23, wherein the computer system is one of a plurality of networked computer systems.
Claim 30
Dependent Claim 27 words
A computer system as recited in claim 23 wherein the distributed object system adheres to the CORBA specification and the particular servant object is a CORBA object.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-11-24 2001-05-26 2001-11-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-11-24 2005-05-26 2005-11-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-11-24 2009-05-26 2009-11-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag