Method, data structure, and computer program product for object state storage
First Claim
1. A method of storing the state of a plurality of objects and for permitting retrieval of the stored state for use in later created objects that is independently of any underlying language used to form the objects, said method comprising the steps of:
- forming one or more interfaces, each interface having;
one or more properties that are capable of describing the state of an object;
one or more methods encoded in executable instructions for accessing and modifying the properties; and
one or more interface identifiers that uniquely identify the interface so as to enable access to the one or more methods;
creating an object that has an object identifier and is accessible through at least one of the one or more interfaces; and
in an object state data structure, storing for the object;
the object identifier;
the one or more properties associated with each interface through which the object is accessible, so as to describe the state of the object; and
the one or more interface identifiers associated with each interface through which the object is accessible, thereby enabling the state of the object to be retrieved from the object state data structure for use in a later created object, and thereafter enabling further use of the later created object in the state described by the properties.
2 Assignments
0 Petitions
Accused Products
Abstract
In an interface-based binary object system capable of supporting multiple interfaces into objects created by class templates, a repository of stored object states is formed that can be accessed by later created objects. Such later created objects may be of the same class as the original object or may be of a new class extended from the original class and still use the same stored object state. Access to the stored object state is made through a generic repository object that emulates the behavior of a particular class of object as defined in type definitions. Requests to a particular object'"'"'s properties through interface methods are serviced by having the generic repository object make reference to the type definitions in order to fulfill the request. Binary extensibility of the generic repository object along with proper class definition in the type definitions allows custom objects having greater functionality than that provided by the generic repository object to be implemented. Furthermore, class definitions that use only functionality provided by the generic repository object may be defined so as to allow instantiation of objects without the implementation of actual software code whatsoever. Finally, in a currently preferred embodiment, object state is stored advantageously in SQL database tables organized on a per-interface basis with properties common to all objects stored in a main stored object state table.
-
Citations
24 Claims
-
1. A method of storing the state of a plurality of objects and for permitting retrieval of the stored state for use in later created objects that is independently of any underlying language used to form the objects, said method comprising the steps of:
-
forming one or more interfaces, each interface having;
one or more properties that are capable of describing the state of an object;
one or more methods encoded in executable instructions for accessing and modifying the properties; and
one or more interface identifiers that uniquely identify the interface so as to enable access to the one or more methods;
creating an object that has an object identifier and is accessible through at least one of the one or more interfaces; and
in an object state data structure, storing for the object;
the object identifier;
the one or more properties associated with each interface through which the object is accessible, so as to describe the state of the object; and
the one or more interface identifiers associated with each interface through which the object is accessible, thereby enabling the state of the object to be retrieved from the object state data structure for use in a later created object, and thereafter enabling further use of the later created object in the state described by the properties. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
creating the later created object;
retrieving the state of the object from the object state data structure; and
assigning the state of the object to the later created object.
-
-
3. A method as defined in claim 2, wherein the object is created using a first language and the later created object is created using a second language, the step of retrieving the state of the object being conducted independently of the first language and the second language.
-
4. A method as defined in claim 2, wherein the step of retrieving the state of the object is conducted implicitly during object navigation.
-
5. A method as defined in claim 2, wherein the step of retrieving the state of the object is conducted explicitly by reference to a state identifier included in the object state data structure, the value of the state identifier corresponding to the state of the object.
-
6. A method as defined in claim 1, wherein the step of creating the object comprises the step of establishing a class of the object.
-
7. A method as defined in claim 1, wherein the properties comprise relationships implemented as a collection of relationship objects between an origin interface and a destination interface.
-
8. A method as defined in claim 1, wherein the properties comprise relationships implemented as a collection of target objects.
-
9. In a computer system, a method for preserving the state of an object for later use in another object, comprising the steps of:
-
creating a first object that is accessible through a given interface and that has a state defined by one or more properties associated with the given interface;
storing the properties in an object state data structure, so as to define the state of the first object;
discontinuing the first object, while preserving the properties in the object state data structure; and
creating a second object and assigning the state of the first object thereto by applying the properties to the second object independently of any underlying language used to form the first object and the second object. - View Dependent Claims (10, 11, 12, 13, 14, 15)
at least one property that is capable of describing the state of objects created in the computer system, wherein the at least one property included in the given interface includes said one or more properties;
one or more methods encoded in executable instructions for accessing and modifying the at least one property; and
an interface identifier that uniquely identifies the interface so as to enable access to the one or more methods.
-
-
11. A method as defined in claim 10, wherein the step of storing the properties in an object state repository comprises the steps of:
-
storing in the object state data structure an object identifier associated with the object; and
storing the interface identifier in the object state data structure.
-
-
12. A method as defined in claim 9, further comprising the step of establishing a plurality of classes at the computer system, the first object and the second objects being instances of the same class.
-
13. A method as defined in claim 9, further comprising the step of establishing a plurality of classes at the computer system, wherein the second object is an instance of a different class than that of the first object, the second object being capable of being accessed through a different interface than the first object.
-
14. A method as defined in claim 9, wherein the object state data structure is contained in a repository.
-
15. A method as defined in claim 9, wherein the object state data structure is contained in a database.
-
16. A computer program product for implementing a method of storing the state of a plurality of objects, thereby permitting retrieval of the stored state for use in later created objects independently of any underlying language used to form the objects, the computer program product comprising:
-
a computer-readable medium carrying computer-executable instructions for implementing the method, the computer-executable instructions including;
program code means for forming one or more interfaces, each interface having;
one or more properties that are capable of describing the state of an object;
one or more methods encoded in the computer-executable instructions for accessing and modifying the properties; and
one or more interface identifiers that uniquely identify the interface so as to enable access to the one or more methods;
program code means for creating an object that has an object identifier and is accessible through at least one of the one or more interfaces; and
object state program code means for storing for the object;
the object identifier;
the one or more properties associated with each interface through which the object is accessible, so as to describe the state of the object; and
the one or more interface identifiers associated with each interface through which the object is accessible, thereby enabling the state of the object to be retrieved for use in a later created object, and thereafter enabling further use of the later created object in the state described by the properties. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
program code means for creating the later created object;
program code means for retrieving the state of the object from the object state program code means; and
program code means for assigning the state of the object to the later created object.
-
-
19. A computer program product as defined in claim 18, wherein the object is created using a first language and the later created object is created using a second language, the program code means for retrieving the state of the object operating independently of the first language and the second language.
-
20. A computer program product as defined in claim 18, wherein the program code means for retrieving the state of the object operates implicitly during object navigation.
-
21. A computer program product as defined in claim 18, wherein the program code means for retrieving the state of the object operates explicitly by referring to a state identifier stored by the object state program code means, the value of the state identifier corresponding to the state of the object.
-
22. A computer program product as defined in claim 16, wherein the program code means for creating the object comprises program code means for establishing a class of the object.
-
23. A computer program product as defined in claim 16, wherein the properties comprise relationships implemented as a collection of relationship objects between an origin interface and a destination interface.
-
24. A computer program product as defined in claim 16, wherein the properties comprise relationships implemented as a collection of target objects.
Specification