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

Apparatus and method for providing externalization in an object-oriented environment

Assignee: International Business Machines Corp
•
Filing: 1997-03-26
•
Granted: 1999-01-26
•
Expires: 2017-03-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract According to the present invention, an externalization service method for managing objects and state data related to the objects is disclosed. The present invention provides a method whereby objects with references to other objects can be stored in streams and can be referenced across processes, while maintaining the original object characteristics and relationships. The present invention is an extension to the existing Common Object Request Broker Architecture (CORBA) specification for externalization and can manage objects without the inherent limitations of known externalization methods. The objects of the present invention are managed by an object reference manager (reference manager) which is capable of storing and using state data and other object-related data to manage objects and the references to other objects. This information includes all information that is necessary to restore the object's characteristics, security access, state data, etc. when the object is recreated. Along with the improved functionality of the reference manager, several new methods are defined to implement improved externalization techniques for managing objects and their references.

Inventors

  • 👤 Jonathan David Henckel
  • 👤 Charlie James Redlin
  • 👤 Peter John Schommer

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 07:04
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/289; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99943; Y10S707/99944

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 86 words
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a first object that resides in the memory and that has a persistent reference to a second object that resides in the memory; and an object reference manager that resides in the memory and that converts the persistent reference to the second object to a stringified object reference and that stores the state data of the first object and the stringified object reference in a data stream in the memory.
Claim 2
Independent Claim 86 words
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a first object that resides in the memory and that has a persistent reference to a second object that resides in the memory; and an object reference manager that resides in the memory and that converts the persistent reference to the second object to a stringified object reference and that stores the state data of the first object and the stringified object reference in a data stream in the memory.
Claim 3
Dependent Claim 18 words
The apparatus of claim 1 wherein the object reference manager comprises an extension to the CORBA externalization framework.
Claim 4
Dependent Claim 57 words
The apparatus of claim 1 wherein the object reference manager restores the first object by creating a third object, by reading the data stream for the first object from the memory, by putting the state data from the data stream into the third object, and by providing a pointer within the first object to the second object.
Claim 5
Dependent Claim 17 words
The apparatus of claim 3 wherein the third object is substantially functionally equivalent to the first object.
Claim 6
Independent Claim 89 words
A method for managing persistent references, the method comprising the steps of: (A) recognizing when a first object has a persistent reference to a second object; (B) saving the first object by performing the steps of: (1) converting the persistent reference to the second object to a stringified object reference; (2) storing the state data for the first object in a data stream, wherein the state data for the first object includes the stringified object reference to the second object; and (3) storing the data stream in the memory.
Claim 7
Independent Claim 89 words
A method for managing persistent references, the method comprising the steps of: (A) recognizing when a first object has a persistent reference to a second object; (B) saving the first object by performing the steps of: (1) converting the persistent reference to the second object to a stringified object reference; (2) storing the state data for the first object in a data stream, wherein the state data for the first object includes the stringified object reference to the second object; and (3) storing the data stream in the memory.
Claim 8
Dependent Claim 19 words
The method of claim 5 wherein the method steps are performed by an extension to the CORBA externalization framework.
Claim 9
Dependent Claim 16 words
The method of claim 6 wherein step B overrides the CORBA-defined methods for handling object references.
Claim 10
Dependent Claim 63 words
The method of claim 5 further comprising the step of: (C) restoring the first object by performing the steps of: (1) creating a third object; (2) reading the data stream for the first object from the memory; (3) putting the state data from the data stream into the third object; and (4) providing a pointer within the third object to the second object.
Claim 11
Dependent Claim 24 words
The method of claim 8 wherein, after performing steps 1-4 in step C, the third object is substantially functionally equivalent to the first object.
Claim 12
Dependent Claim 90 words
A program product comprising: an object reference manager that recognizes when a first object contains a persistent reference to a second object, and that saves the first object by converting the persistent reference to the second object to a stringified object reference, by converting the state data for the first object into a data stream, wherein the state data for the first object includes the stringified object reference to the second object, and by storing the data stream in the memory; and signal bearing media bearing the object reference manager.
Claim 13
Dependent Claim 90 words
A program product comprising: an object reference manager that recognizes when a first object contains a persistent reference to a second object, and that saves the first object by converting the persistent reference to the second object to a stringified object reference, by converting the state data for the first object into a data stream, wherein the state data for the first object includes the stringified object reference to the second object, and by storing the data stream in the memory; and signal bearing media bearing the object reference manager.
Claim 14
Dependent Claim 14 words
The program product of claim 10 wherein the signal bearing media comprises recordable media.
Claim 15
Dependent Claim 14 words
The program product of claim 10 wherein the signal bearing media comprises transmission media.
Claim 16
Dependent Claim 58 words
The program product of claim 10 wherein the object reference manager restores the first object by creating a third object, by reading the data stream for the first object from the memory, by putting the state data from the data stream into the third object, and by providing a pointer within the third object to the second object.
Claim 17
Dependent Claim 18 words
The program product of claim 13 wherein the third object is substantially functionally equivalent to the first object.
Claim 18
Independent Claim 133 words
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; an object oriented framework mechanism residing in the memory and executed by the at least one processor, the framework mechanism providing class definitions to support transactions in a distributed object environment; an object oriented extension to the framework mechanism, the extension residing in the memory, the extension recognizing when a first object contains a persistent reference to a second object, and saving the first object by converting the reference to the second object to a stringified object reference, by converting the state data for the first object into a data stream, wherein the state data for the first object includes the stringified object reference to the second object, and by storing the data stream in the memory.
Claim 19
Independent Claim 133 words
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; an object oriented framework mechanism residing in the memory and executed by the at least one processor, the framework mechanism providing class definitions to support transactions in a distributed object environment; an object oriented extension to the framework mechanism, the extension residing in the memory, the extension recognizing when a first object contains a persistent reference to a second object, and saving the first object by converting the reference to the second object to a stringified object reference, by converting the state data for the first object into a data stream, wherein the state data for the first object includes the stringified object reference to the second object, and by storing the data stream in the memory.
Claim 20
Independent Claim 200 words
A method for handling persistent references in an object-oriented environment, the method comprising the steps of: (A) creating a first object in a memory, the first object being described by state data stored in the first object; (B) creating a second object in the memory, the second object being described by state data stored in the second object; (C) establishing a reference from the first object that references the second object; (D) storing the reference to the second object in the first object; (E) converting the reference to the second object to a stringified object reference; (F) storing the state data that describes the first object and the stringified object reference in a single data stream in the memory; (G) removing the first object from the memory; (H) creating a third object which resides in the memory; (I) retrieving the data stream that describes the first object and the stringified reference from the memory; (J) storing the state data that describes the first object in the second object so that the third object has the operational functionality of the first object; and (K) using the stringified object reference to establish a pointer from the third object to the second object.
Claim 21
Independent Claim 200 words
A method for handling persistent references in an object-oriented environment, the method comprising the steps of: (A) creating a first object in a memory, the first object being described by state data stored in the first object; (B) creating a second object in the memory, the second object being described by state data stored in the second object; (C) establishing a reference from the first object that references the second object; (D) storing the reference to the second object in the first object; (E) converting the reference to the second object to a stringified object reference; (F) storing the state data that describes the first object and the stringified object reference in a single data stream in the memory; (G) removing the first object from the memory; (H) creating a third object which resides in the memory; (I) retrieving the data stream that describes the first object and the stringified reference from the memory; (J) storing the state data that describes the first object in the second object so that the third object has the operational functionality of the first object; and (K) using the stringified object reference to establish a pointer from the third object to the second object.
Claim 22
Dependent Claim 22 words
The method of claim 16 wherein the method wherein the method steps are performed by an extension to the CORBA externalization framework.
Claim 23
Dependent Claim 19 words
The method of claim 17 wherein steps E, F, and K override the CORBA-defined methods for handling object references.
Claim 24
Dependent Claim 20 words
The method of claim 16 wherein the third object, after performing steps A-K, is functionally equivalent to the first object.
Claim 25
Independent Claim 161 words
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a first object that resides in the memory and that has a persistent reference to a second object that resides in the memory; an object reference manager that resides in the memory and that converts the persistent reference to the second object to a stringified object reference and that stores the state data of the first object and the stringified object reference in a data stream in the memory, and that removes the first object from the memory and that restores the first object by creating a third object, by reading the data stream for the first object from the memory, by putting the state data from the data stream into the third object, and by using the stringified object reference to provide a pointer within the third object to the second object, and wherein the third object is functionally equivalent to the first object.
Claim 26
Independent Claim 161 words
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a first object that resides in the memory and that has a persistent reference to a second object that resides in the memory; an object reference manager that resides in the memory and that converts the persistent reference to the second object to a stringified object reference and that stores the state data of the first object and the stringified object reference in a data stream in the memory, and that removes the first object from the memory and that restores the first object by creating a third object, by reading the data stream for the first object from the memory, by putting the state data from the data stream into the third object, and by using the stringified object reference to provide a pointer within the third object to the second object, and wherein the third object is functionally equivalent to the first object.

References Cited (Backward Citations)

US5727175A Cited
US5551028A Cited
US5542078A Cited
US5778356A 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