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 update information stored therein, the computer program product embodied on one or more computer-readable media and comprising:
- computer-readable program code for storing one or more objects in a cache for responding to update requests against a back-end data source corresponding to each of the objects, wherein (1) a set of input properties is stored with or associated with each stored object and (2) update logic specifying how to update the back-end data source corresponding to each of the stored objects is stored with or associated with the stored object or a group of stored objects;
computer-readable program code for receiving update requests against the back-end data source for one or more of the objects;
computer-readable program code for checking an update policy to determine an update mode to use for each selected on of the update requests, responsive to the computer-readable program code for receiving;
computer-readable program code for immediately processing the selected update request against the back-end data source if the determined update mode is not a delayed update mode; and
computer-readable program code for delaying processing of the selected update request against the back-end data source is the delayed update mode further comprising;
computer-readable program code for queuing the selected update request, along with the input properties and values thereof which are to be used for performing the selected update request, as a queued update request on an update queue;
computer-readable program code for detecting a triggering event for performing the delayed processing of the queued update requests, wherein the triggering event comprises reaching a particular count of queued update requests for a selected object; and
computer-readable program code for performing, responsive to the computer-readable program code for detecting, the queued update requests.
1 Assignment
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
24 Claims
-
1. A computer program product for improving performance and resource utilization of software applications that interact with a back-end data source to update information stored therein, the computer program product embodied on one or more computer-readable media and comprising:
-
computer-readable program code for storing one or more objects in a cache for responding to update requests against a back-end data source corresponding to each of the objects, wherein (1) a set of input properties is stored with or associated with each stored object and (2) update logic specifying how to update the back-end data source corresponding to each of the stored objects is stored with or associated with the stored object or a group of stored objects; computer-readable program code for receiving update requests against the back-end data source for one or more of the objects; computer-readable program code for checking an update policy to determine an update mode to use for each selected on of the update requests, responsive to the computer-readable program code for receiving; computer-readable program code for immediately processing the selected update request against the back-end data source if the determined update mode is not a delayed update mode; and computer-readable program code for delaying processing of the selected update request against the back-end data source is the delayed update mode further comprising; computer-readable program code for queuing the selected update request, along with the input properties and values thereof which are to be used for performing the selected update request, as a queued update request on an update queue; computer-readable program code for detecting a triggering event for performing the delayed processing of the queued update requests, wherein the triggering event comprises reaching a particular count of queued update requests for a selected object; and computer-readable program code for performing, responsive to the computer-readable program code for detecting, the queued update requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for improving performance and resource utilization of software applications that interact with a back-end data source to update information stored therein, comprising:
-
means for storing one or more objects in a cache for responding to update requests against a back-end data source corresponding to each of the objects, wherein (1) a set of input properties is stored with or associated with each stored object and (2) update logic specifying how to update the back-end data source corresponding to each of the stored objects is stored with or associated with the stored object or a group of stored objects; means for receiving update requests against the back-end data source for one or more of the objects; means for checking an update policy to determine an update mode to use for each selected one of the update requests, responsive to the means for receiving; means for immediately processing the selected update request against the back-end data source if the determined update mode is not delayed update mode; and means for delaying processing of the selected update request against the back-end data source is the delayed update mode, further comprising; means for queuing the selected update request, along with the input, as a queued update request on an update queue; means for detecting a triggering event for performing the delayed processing of the queued update requests, wherein the triggering event comprises reaching a particular count of queued update requests for a selected object; and means for performing, responsive to the means for detecting, the queued update requests. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for improving performance and resource utilization of software applications that interact with a back-end data source to update information stored therein, comprising the steps of:
-
storing one or more objects in a cache for responding to update requests against a back-end data source corresponding to each of the objects, wherein (1) a set of input properties is stored with or associated with each stored object and (2) update logic specifying how to update the back-end data source corresponding to each of the stored objects is stored with or associated with the stored object or a group of stored objects; receiving update requests against the back-end data source for one or more of the objects; checking an update policy to determine an update mode to use for each selected one of the update requests, responsive to the receiving step; immediately processing the selected update request against the back-end data source if the determined update mode is not a delayed update mode; and delaying processing of the selected update request against the back-end data source is the delayed update mode, further comprising the steps of; queuing the selected update request, along with the input properties and values thereof which are to be used for performing the selected update request, as a queued update request on an update queue; detecting a triggering event for performing the delayed processing of the queued update requests, wherein the triggering event comprises reaching a particular count of queued update requests for a selected object; and performing, responsive to the detecting step, the queued update requests. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification