IP Library Granted Patent US 6,912,520
Granted Patent B2
US 6,912,520 · App. 09/940,580 · Granted Jun 28, 2005

System and method for providing a persistent object framework for managing persistent objects

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,912,520
App. No.
09/940,580
Granted
Jun 28, 2005
Kind
B2
Abstract

A system and method for managing persistent objects with a persistent object framework is disclosed. The persistent object framework receives queries and instructions from an application for data from the persistent objects. The persistent objects are stored in data sources, such as databases or repositories. The persistent object framework may create, save, update, access, search, and delete persistent objects. Further, the persistent object framework caches applicable persistent objects for the application. The persistent object framework provides the caching for the persistent objects. The persistent object framework supports both Lightweight Directory Access Protocol and relational databases.

Claims (80)

1. A system for managing persistent objects for an application accessing data, wherein said persistent objects are stored in at least one data source, comprising:

a persistent object framework to provide data from and perform functions on said persistent objects in accordance with said application, wherein the persistent object framework is between the application and the data source and providing an interface for the application to query the data source; and

a cached set of persistent objects within said persistent object framework and managed by the persistent object framework, the persistent objects being identified for use by said application and corresponding to said stored persistent objects.

2. The system of claim 1 , wherein said application is a Java servlet.

3. The system of claim 1 , wherein said functions include a function to create a persistent object, the creation function comprising caching the newly-created persistent object in the cached set of persistent objects and then, inserting the newly-created persistent object into the data source after a save transaction has been committed or a flush method has been invoked.

4. The system of claim 1 , wherein said functions include a function to cache a persistent object.

5. The system of claim 1 , wherein said functions include a function to update a persistent object, wherein the update function comprises deferring comprises writing to a persistent object in the data source that is deferred until a transaction is committed, a flush method is invoked, or a query process is started.

6. The system of claim 1 , wherein said persistent object framework includes a set of data models corresponding to said stored persistent objects.

7. The system of claim 1 , further comprising an additional data source and wherein said persistent object framework includes an object space to map said persistent objects to the at least one data source or the additional data source based on a type definition for each of the persistent objects.

8. A system for managing persistent objects correlating to an application, comprising:

means for mapping a persistent object stored within a data source with a persistent object framework coupled to said application;

means for identifying said persistent object stored in said data source as applicable to said application;

means for caching said persistent object within said persistent object framework; and

means for creating a new persistent object according to a data model stored by the persistent object framework, the creating comprising caching the new persistent object in the persistent object cache and inserting the new persistent object in the data source after a save transaction has been committed or a flush method has been invoked.

9. A system for searching persistent objects stored in at least one data source, wherein an application accesses said persistent objects for data, comprising:

means for receiving a search query for a persistent object at a persistent object framework;

means for determining a query type for said search query, wherein said query type is selected from the group of query types consisting of a primary key, a handle, a unique key, a query filter, and a relationship between persistent objects;

when said query type is determined not to be a query filter, means for searching a cache within said persistent object framework for said persistent object according to said query type; and

means for searching said data source when said persistent object is not within said cache.

10. A system for managing persistent objects within an application system, wherein said persistent objects are stored within a first data source and a second data source and said persistent objects provide data to an application, comprising:

means for implementing a persistent object framework that caches said persistent objects correlating to said application comprising:

means for creating said persistent objects;

means for caching said persistent objects;

means for accessing said persistent objects;

means for updating said persistent objects;

means for searching said persistent objects:

means for deferring writes to said first and second data sources; and

means for controlling persistent storage of said persistent objects; and

means for retrieving said data from said first and second data sources when requested by said persistent object framework.

11. A method for managing persistent objects correlating to an application, comprising;

mapping a persistent object stored within a data source with a persistent object framework coupled to said application;

identifying said persistent object stored in said data source as applicable to said application;

caching said persistent object within a cache managed by said persistent object framework; and

with the persistent object framework, creating a new persistent object according to a data model stored by the persistent object framework, the creating comprising caching the new persistent object in the persistent object cache and inserting the new persistent object in the data source after a save transaction has been committed or a flush method has been invoked.

12. The method of claim 11 , wherein said creating includes determining initial values for attributes within said data model.

13. The method of claim 11 , wherein said creating includes updating a revision indicator within said data model.

14. The method of claim 11 , wherein said creating includes determining a persistant object identify for said newly created persistent object.

15. The method of claim 11 , wherein said creating includes defining subtypes for said newly created persistent object.

16. The method of claim 11 , further comprising saving said persistent object by said persistent object framework.

17. The method of claim 11 , further comprising accessing said persistent object by said persistent object framework.

18. The method of claim 11 , further comprising updating said persistent object by said persistent object framework.

19. The method of claim 11 , further comprising deleting said persistent object by said persistent object framework.

20. A method for searching persistent objects stored in at least one data source, wherein an application accesses said persistent objects for data, comprising:

receiving a search query for a persistent object at a persistent object framework;

determining a query type for said search query, wherein said query type is selected from the group of query types consisting of a primary key, a handle, a unique key, a query filter, and a relationship between persistent objects;

when said query type is determined not to be a query filter, searching a cache within said persistent object framework for said persistent object according to said query type; and

searching said data source when said persistent object is not within said cache or when said query type is determined to be a query filter.

21. The method of claim 20 , wherein said searching of said data source includes enabling a lazy load state.

22. The method of claim 21 , further comprising determining whether said persistent object data is needed by said application.

23. The method of claim 20 , further comprising discarding said search query.

24. A method for managing persistent objects within an application system, wherein said persistent objects are stored within a first data source and a second data source and said persistent objects provide data to an application, comprising:

implementing a persistent object framework that caches said persistent objects correlating to said application by:

creating said persistent objects;

caching said persistent objects;

accessing said persistent objects;

updating said persistent objects;

searching said persistent objects;

deferring writes to said first and second data sources; and

controlling persistent storage of said persistent objects; and

retrieving said data from said first and second data sources when requested by said persistent object framework.

25. A computer program product comprising a computer useable medium having computer readable code embodied therein for managing persistent objects correlating to an application, the computer program product adapted when run on a computer to effect steps, including:

mapping a persistent object stored within a data source with a persistent object framework coupled to said application;

identifying said persistent object stored in said data source as applicable to said application;

caching said persistent object within said persistent object framework; and

creating a new persistent object according to a data model stored by the persistent object framework, the creating comprising caching the new persistent object in the persistent object cache and inserting the new persistent object in the data source after a save transaction has been committed or a flush method has been invoked.

26. A computer program product comprising a computer useable medium having computer readable code embodied therein for searching persistent objects stored in at least one data source, wherein an application accesses said persistent objects for data, the computer program product adapted when run on a computer to effect steps, including:

receiving a search query for a persistent object at a persistent object framework;

determining a query type for said search query, wherein said query type is selected from the group of query types consisting of a primary key, a handle, a unique key, a query filter, and a relationship between persistent objects;

when said query type is determined not to be a query filter, searching a cache within said persistent object framework for said persistent object according to said query type; and

searching said data source when said persistent object is not within said cache.

27. A computer program product comprising a computer useable medium having computer readable code embodied therein for managing persistent objects within an application system, wherein said persistent objects are stored within a first data source and a second data source and said persistent objects provide data to an application, the computer program product adapted when run on a computer to effect steps, including:

implementing a persistent object framework that caches said persistent objects correlating to said application comprising:

creating said persistent objects;

caching said persistent objects;

accessing said persistent objects;

updating said persistent objects;

searching said persistent objects;

deferring writes to said first and second data sources; and

controlling persistent storage of said persistent objects; and

retrieving said data from said first and second data sources when requested by said persistent object framework.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 12, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037278/0842 →