System for persistent and delayed allocation object reference in an object oriented environment
First Claim
1. In an object oriented computing environment operating on a data processor containing a main memory and having a direct access storage device for persistently storing data objects, in which a plurality of data objects are categorized into one or more classes which define methods of the categorized classes, and in which messages containing an object reference data structure are sent by the data processor to at least one object to perform at least one action upon said object, said object reference data structure having an object type field, an object class identification field, an object instance identification field and an access address field, a method for handling uncreated objects comprising the steps of:
- creating an object instance in main memory for the uncreated object and inserting an entry in an object management table identifying the location of the object instance in main memory; and
altering the contents of said object reference data structure to identify the object instance as being of created instance type, adding an object instance identifier in the object instance identification field for the newly created object instance, and modifying the access address field to refer to the entry for the newly created object in the object management table.
1 Assignment
0 Petitions
Accused Products
Abstract
A data structure and method for uniquely identifying, and optimizing access to, object instances in an object oriented programming environment on a data processor containing a memory. Objects are categorized into one or more classes which define the method of the categorized objects, and messages are sent by the data processor to objects to perform actions. The data structure consists of a persistent portion containing a unique object identifier and a non-persistent portion containing the access address of an instance data frame in memory. The access address is set to the address of the instance data frame control block when the message is sent in order to optimize subsequent messages to the same object instance. The instance data frame control blocks are not allocated in memory until a first message is sent to an instance.
101 Citations
5 Claims
-
1. In an object oriented computing environment operating on a data processor containing a main memory and having a direct access storage device for persistently storing data objects, in which a plurality of data objects are categorized into one or more classes which define methods of the categorized classes, and in which messages containing an object reference data structure are sent by the data processor to at least one object to perform at least one action upon said object, said object reference data structure having an object type field, an object class identification field, an object instance identification field and an access address field, a method for handling uncreated objects comprising the steps of:
-
creating an object instance in main memory for the uncreated object and inserting an entry in an object management table identifying the location of the object instance in main memory; and altering the contents of said object reference data structure to identify the object instance as being of created instance type, adding an object instance identifier in the object instance identification field for the newly created object instance, and modifying the access address field to refer to the entry for the newly created object in the object management table.
-
-
2. In an object oriented computing environment operating on a data processor containing a main memory and having a direct access storage device for persistently storing data objects, in which a plurality of data objects are categorized into one or more classes which define methods of the categorized classes, and in which messages containing an object reference data structure are sent by the data processor to at least one object to perform at least one action upon said object, said object reference data structure having an object type field, an object class identification field, an object instance identification field and an access address field, a method for handling unresolved object references comprising the steps of:
-
searching an object management table using the object instance identification field of said object reference data structure to determine if there is an entry pointing to an object instance for the referenced object in main memory; if an entry is found in said object management table for the referenced object, updating the access address field in the object reference data structure so that it points to said object instance for the referenced object; if an entry for the referenced object is not found in said object management table, examining the object class identification field of said object reference data structure to determine if the referenced object is persistent; if the referenced object is persistent, allocating an empty instance frame in main memory for the referenced object and sending a request to a materialize method of the referenced object to fetch the referenced object from the direct access storage device to main memory; and adding an entry to the object management table for the fetched referenced object if it is successfully fetched. - View Dependent Claims (3, 4)
-
-
5. In an object oriented computing environment operating on a data processor containing a main memory and having a direct access storage device for persistently storing data objects, in which a plurality of data objects are categorized into one or more classes which define methods of the categorized classes, and in which messages containing an object reference data structure are sent by the data processor to at least one object to perform at least one action upon said object, said object reference data structure having an object type field, an object class identification field, an object instance identification field and an access address field, a method for handling resolved object references comprising the steps of:
-
validating the access address field of the object reference data structure by comparing the object type field, the object class identification field, and the object instance identification field of said object reference data structure with corresponding data field entries in the object management table to find a match; if an entry is found in the object management table that matches the object type field, the object class identification field, and the object instance identification field of said object reference data structure, using the access address field of said matching object management table entry to identify the location in main memory of said referenced object; and if no entry is found in the object management table that matches the object type field, the object class identification field, and the object instance identification field of said object reference, setting the access address field of said object reference data structure to a null value and invoking a procedure to further handle the referenced object as an unresolved object reference.
-
Specification