Method and apparatus for managing relational data in an object cache
First Claim
1. In an object-oriented application being executed in a digital computing system comprising a processor, a method for managing information, said information comprising a plurality of object instances, each object instance in said plurality comprising a unique object ID, attributes, and relationships retrieved from a structured database, said method comprising the steps of:
- executing instructions on said processor to construct a plurality of object instances based on information retrieved from queries to said structured database, said structured database comprising foreign keys, primary keys, tables, rows and columns;
executing instructions on said processor to construct a unique object ID for each of said object instances, said object ID comprising information extracted from said keys associated with the object instance, in order to provide a mapping between said object instance and at least one row in said structured database;
executing instructions on said processor to construct a single cohesive object cache comprising all object instances of said plurality of object instances and at least one relationship between two objects; and
executing instructions on said processor to construct a cache dictionary, said cache dictionary containing said object ID and location of every object instance in said object cache.
6 Assignments
0 Petitions
Accused Products
Abstract
In an object-oriented application being executed in a digital computing system comprising a processor, a method and apparatus are provided for managing information retrieved from a structured database, such as a relational database, wherein the processor is used to construct a plurality of object instances, each of these object instances having its own unique object ID that provides a mapping between the object instance and at least one row in the structured database. The processor is used to construct a single cohesive data structure, called an object cache, that comprises all the object instances and that represents information retrieved from the structured database in a form suitable for use by one or more object-oriented applications. A mechanism for managing the object cache is provided that has these three properties: First, through a technique called key swizzling, it uses explicit relationship pointers between object instances in the object cache to reduce the volume of queries to the structured database. Second, it ensures that only one copy of an object instance is in the cache at any given time, even if several different queries return the same information from the database. Third, the mechanism guarantees the integrity of data in the cache by locking data appropriately in the structured database during a database transaction, flushing cache data at the end of each transaction, and transparently re-reading the data and reacquiring the appropriate locks for an object instance whose data has been flushed.
-
Citations
14 Claims
-
1. In an object-oriented application being executed in a digital computing system comprising a processor, a method for managing information, said information comprising a plurality of object instances, each object instance in said plurality comprising a unique object ID, attributes, and relationships retrieved from a structured database, said method comprising the steps of:
-
executing instructions on said processor to construct a plurality of object instances based on information retrieved from queries to said structured database, said structured database comprising foreign keys, primary keys, tables, rows and columns; executing instructions on said processor to construct a unique object ID for each of said object instances, said object ID comprising information extracted from said keys associated with the object instance, in order to provide a mapping between said object instance and at least one row in said structured database; executing instructions on said processor to construct a single cohesive object cache comprising all object instances of said plurality of object instances and at least one relationship between two objects; and executing instructions on said processor to construct a cache dictionary, said cache dictionary containing said object ID and location of every object instance in said object cache. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In an object-oriented application being executed in a digital computing system comprising a processor, a method for managing information, said information comprising a plurality of object instances, each object instance in said plurality comprising a unique object ID, attributes, and relationships retrieved from a structured database, said method comprising the steps of:
-
executing instructions on said processor to construct a plurality of object instances based on information retrieved from queries to said structured database, said structured database comprising foreign keys, primary keys, tables, rows and columns; executing instructions on said processor to construct a unique object ID for each of said object instances, said object ID comprising information extracted from said keys associated with the object instance, in order to provide a mapping between said object instance and at least one row in said structured database; executing instructions on said processor to construct a single cohesive object cache comprising all object instances of said plurality of object instances and at least one relationship between two objects, by executing instructions on said processor to assign to each said object instance a state, said state having a value indicating whether at least one row in said structured database which corresponds to the information contained in said object instance is currently locked; and executing instructions on said processor to construct a cache dictionary, said cache dictionary containing said object ID and location of every object instance in said object cache. - View Dependent Claims (9)
-
-
10. In a system comprising a plurality of object-oriented applications and at least one processor, a method for managing information retrieved from a structured database, said method comprising the steps of:
-
executing instructions on said processor to construct a plurality of object instances based on information retrieved from queries to said structured database, said structured database comprising foreign keys, primary keys, tables, rows and columns; executing instructions on said processor to construct a unique object ID for each of said object instances, said object ID comprising information extracted from said keys associated with the object instance, in order to provide a mapping between said object instance and at least one row in said structured database; and executing instructions on said processor to construct a single cohesive object cache comprising all object instances of said plurality of object instances and at least one relationship between two object instances of said plurality, said object cache being shared by said object-oriented applications. - View Dependent Claims (11)
-
-
12. In a system comprising an object-oriented application and at least one processor, a method for managing information retrieved from a plurality of structured databases, said method comprising the steps of:
-
executing instructions on said processor to construct a plurality of object instances based on information retrieved from queries to said structured database, said structured database comprising foreign keys, primary keys, tables, rows and columns; executing instructions on said processor to construct a unique object ID for each of said object instances in order to provide a mapping between said object instance and at least one row in at least one structured database of said plurality of structured databases; and executing instructions on said processor to construct a single cohesive object cache comprising all object instances of said plurality of object instances and at least one relationship between two objects.
-
-
13. An apparatus for an object cache comprising a processor, memory coupled to said processor, a storage device coupled to said processor, an application being executed by said processor, and a structured database coupled to said application, and:
-
means associated with said processor for constructing a plurality of object instances based on information comprising at least one column retrieved from said structured database, said structured database comprising foreign keys, primary keys, tables, rows and columns, each of said object instances having its own unique object ID in order to provide a mapping between said object instance and at least one row in said structured database; means associated with said processor for constructing a single cohesive object cache comprising all object instances of said plurality and at least one relationship between two object instances; and means for storing said object cache. - View Dependent Claims (14)
-
Specification