System and method for distributed caching of objects using a publish and subscribe paradigm
First Claim
1. A method for maintaining objects in a cache, comprising the steps of:
- issuing a subscription for an object;
maintaining a metric for the object;
determining, based on the metric, whether a cache is to receive an update message associated with the object; and
prioritizing an order in which update messages associated with a plurality of objects are sent to corresponding subscribing caches based on the value of the metric associated with each of the objects, wherein the step of prioritizing the order comprises ordering the update messages in decreasing value of the metric.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for caching objects using a cost-based publish and subscribe paradigm, wherein a server computing node determines whether a given cache node should receive a cache update based on, e.g., the cost of sending the update. In one aspect, a method for maintaining objects in a cache comprises the steps of issuing a subscription for an object, maintaining a metric for the object; and determining, based on the metric, whether a cache is to receive an update message associated with the object. The metric is preferably correlated with one or more factors such as an importance factor of maintaining the cached copy of the object current, the cost of the sending the update message, and/or the estimated lifetime of the object.
62 Citations
24 Claims
-
1. A method for maintaining objects in a cache, comprising the steps of:
-
issuing a subscription for an object;
maintaining a metric for the object;
determining, based on the metric, whether a cache is to receive an update message associated with the object; and
prioritizing an order in which update messages associated with a plurality of objects are sent to corresponding subscribing caches based on the value of the metric associated with each of the objects, wherein the step of prioritizing the order comprises ordering the update messages in decreasing value of the metric. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for maintaining objects in a cache, comprising the steps of:
-
issuing a subscription to a plurality of objects;
maintaining a metric for an object of the plurality of objects, wherein the metric is correlated with a validity level of the object; and
sending a message to one of update and invalidate a cached copy of the object, if the metric associated with the object meets a predefined threshold, wherein the predefined threshold is met when the validity level of the object indicates that the object is obsolete, and wherein the step of sending a message further comprises batching a plurality of messages in the message, wherein the batched messages are associated with objects having a validity level that meet a second predefined threshold when the validity level of the object meets the predefined threshold. - View Dependent Claims (14, 15, 16)
-
-
17. A system, comprising:
-
a plurality of caches; and
a server, wherein the server comprises a plurality of objects that are one of stored and materialized from the server, wherein the server is adapted to execute functions, wherein the functions comprise issuing subscriptions to the caches for copies of the objects, maintaining a metric for each of the objects, and utilizing the metric associated with an object to determine whether to send an update message to a subscribing cache having a cached copy of the object when the object changes, wherein the order in which update messages associated with a plurality of objects are sent to corresponding subscribing caches is prioritized based on the value of the metric associated with each of the objects, and wherein the update messages are ordered in decreasing value of the metric. - View Dependent Claims (18, 19, 20)
-
-
21. A method for maintaining objects in a cache, comprising the steps of:
-
issuing a subscription for an object;
maintaining a metric for the object, wherein the metric is correlated with an importance factor of maintaining a cached copy of the object current;
determining, based on the metric, whether a cache is to receive an update message associated with the object; and
further comprising the step of computing the metric, wherein the step of computing the metric comprises multiplying a quantitative estimate of the importance factor by an estimate of a lifetime of the object and dividing by an estimated cost of the update message. - View Dependent Claims (22)
-
-
23. A method for maintaining objects in a cache, comprising the steps of:
-
issuing a subscription for an object;
maintaining a metric for the object; and
determining, based on the metric, whether a cache is to receive an update message associated with the object, wherein the metric is correlated with a cost of sending the update message, wherein the cost comprises c1+c2*(size(o)−
c3), wherein c1, c2, and c3 are constants, and size(o) comprises a size of the object.- View Dependent Claims (24)
-
Specification