Apparatus and method for providing externalization in an object-oriented environment
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
166 Citations
20 Claims
-
1. 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. - View Dependent Claims (2, 3, 4)
-
-
5. 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. - View Dependent Claims (6, 7, 8, 9)
-
-
10. 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. - View Dependent Claims (11, 12, 13, 14)
-
-
15. 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.
-
-
16. 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. - View Dependent Claims (17, 18, 19)
-
-
20. 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.
-
Specification