Object caching and update queuing technique to improve performance and resource utilization
First Claim
1. A computer program product for improving performance and resource utilization of software applications that interact with a back-end data source to retrieve information stored therein, the computer program product embodied on one or more computer-readable media and comprising:
- computer-readable program code means for storing one or more objects in a cache for responding to read requests against the objects, wherein (1) a set of input properties and values thereof is stored with or associated with each stored object and (2) refresh logic specifying how to refresh each of the stored objects is stored with or associated with the stored object or a group of stored objects;
computer-readable program code means for specifying a refresh policy that corresponds to each stored object or to each group of stored objects;
computer-readable program code means for receiving read requests against one or more of the objects;
computer-readable program code means for responding to the read requests using the stored objects;
computer-readable program code means for scheduling a refresh of a selected stored object by queuing the selected stored object or a reference thereto as a queued refresh request on a refresh queue; and
computer-readable program code means for refreshing the selected stored object, when triggered according to the corresponding refresh policy, by executing the refresh logic stored with or associated with the queued refresh request.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method, system, and computer program product for caching objects to improve performance and resource utilization of software applications which interact with a back-end data source, such as a legacy host application and/or legacy host data store or database. Read-only requests for information are satisfied from the cache, avoiding the overhead of a network round-trip and the computing overhead of repeating an interaction with the back-end data source. Refreshes of cached objects and update requests to objects may be queued for delayed processing (for example, at a time when the system is lightly loaded), thereby improving system resource utilization. A sequence of actions that may be required to initiate, and interact with, the refresh and update processes is also preferably stored in the cached objects. This technique is applicant-independent, and may therefore be used for objects having an arbitrary format.
-
Citations
38 Claims
-
1. A computer program product for improving performance and resource utilization of software applications that interact with a back-end data source to retrieve information stored therein, the computer program product embodied on one or more computer-readable media and comprising:
-
computer-readable program code means for storing one or more objects in a cache for responding to read requests against the objects, wherein (1) a set of input properties and values thereof is stored with or associated with each stored object and (2) refresh logic specifying how to refresh each of the stored objects is stored with or associated with the stored object or a group of stored objects;
computer-readable program code means for specifying a refresh policy that corresponds to each stored object or to each group of stored objects;
computer-readable program code means for receiving read requests against one or more of the objects;
computer-readable program code means for responding to the read requests using the stored objects;
computer-readable program code means for scheduling a refresh of a selected stored object by queuing the selected stored object or a reference thereto as a queued refresh request on a refresh queue; and
computer-readable program code means for refreshing the selected stored object, when triggered according to the corresponding refresh policy, by executing the refresh logic stored with or associated with the queued refresh request. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
17. A system for improving performance and resource utilization of software applications that interact with a back-end data source to retrieve information stored therein, comprising:
-
means for storing one or more objects in a cache for responding to read requests against the objects, wherein (1) a set of input properties and values thereof is stored with or associated with each stored object and (2) refresh logic specifying how to refresh each of the stored objects is stored with or associated with the stored object or a group of stored objects;
means for specifying a refresh policy that corresponds to each stored object or to each group of stored objects;
means for receiving read requests against one or more of the objects;
means for responding to the read requests using the stored objects;
means for scheduling a refresh of a selected stored object by queuing the selected stored object or a reference thereto as a queued refresh request on a refresh queue; and
means for refreshing the selected stored object, when triggered according to the corresponding refresh policy, by executing the refresh logic stored with or associated with the queued refresh request. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
33. A method for improving performance and resource utilization of software applications that interact with a back-end data source to retrieve information stored therein, comprising the steps of:
-
storing one or more objects in a cache for responding to read requests against the objects, wherein (1) a set of input properties and values thereof is stored with or associated with each stored object and (2) refresh logic specifying how to refresh each of the stored objects is stored with or associated with the stored object or a group of stored objects;
specifying a refresh policy that corresponds to each stored object or to each group of stored objects;
receiving read requests against one or more of the objects;
responding to the read requests using the stored objects;
scheduling a refresh of a selected stored object by queuing the selected stored object or a reference thereto as a queued refresh request on a refresh queue; and
refreshing the selected stored object, when triggered according to the corresponding refresh policy, by executing the refresh logic stored with or associated with the queued refresh request. - View Dependent Claims (34, 35, 36, 37, 38)
-
Specification