Method and apparatus for implementing persistent and reliable message delivery
First Claim
1. A method for providing persistent caching of messages delivered via a publish-subscribe network, comprising the steps of:
- (a) receiving, at a first node, a message having data via the network;
(b) time-marking the data;
(c) caching the data in a cache memory at the first node;
(d) routing the message to a second node using content-based routing;
(e) repeating steps (a) through (d) at the second node, wherein the data is cached in a cache memory at the second node;
(f) routing at least one of the messages from the second node to a subscriber machine using content-based routing;
(g) the second node receiving a request for cached data from the subscriber machine;
(h) determining a time-amount of cached data to retrieve in response to the request; and
(i) retrieving the determined time-amount of cached data based on the time-mark of the cached data.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus provide for persistent caching of methods delivered via a publish-subscribe network. At a first node, a message having data via the network is received. The data is time-marked. The data is cached in a cache memory at the first node. The message is routed to a second node using content-based routing. These steps are repeated at a second node. A router that includes modules for executing this method is provided. A publish-subscribe network that includes nodes that include modules for executing this method is provided. A computer-readable medium that includes instructions for executing this method is provided.
65 Citations
18 Claims
-
1. A method for providing persistent caching of messages delivered via a publish-subscribe network, comprising the steps of:
-
(a) receiving, at a first node, a message having data via the network; (b) time-marking the data; (c) caching the data in a cache memory at the first node; (d) routing the message to a second node using content-based routing; (e) repeating steps (a) through (d) at the second node, wherein the data is cached in a cache memory at the second node; (f) routing at least one of the messages from the second node to a subscriber machine using content-based routing; (g) the second node receiving a request for cached data from the subscriber machine; (h) determining a time-amount of cached data to retrieve in response to the request; and (i) retrieving the determined time-amount of cached data based on the time-mark of the cached data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for providing persistent caching of messages delivered via a publish-subscribe network, comprising the steps of:
-
(a) receiving a plurality of messages having data via the network at a plurality of upstream nodes; (b) time-marking the data; (c) caching the data in cache memories at one or more of the plurality of upstream nodes; (d) routing the messages to an edge node using content-based routing; (e) repeating steps (a) through (c) at the edge node, wherein the data is cached in a cache memory at the edge node; (f) routing at least one of the messages from the edge node to a subscriber machine using content-based routing; (g) the edge node receiving a request for cached data from the subscriber machine; (h) determining a time-amount of cached data to retrieve in response to the request; and (i) retrieving the determined time-amount of cached data based on the time-mark of the cached data. - View Dependent Claims (12, 13, 14, 16, 17, 18)
-
-
15. A method for providing persistent caching of messages delivered via a publish-subscribe network, comprising the steps of:
-
(a) receiving a plurality of messages having data via the network at a plurality of upstream nodes; (b) time-marking the data; (c) caching the data in cache memories at one or more of the plurality of upstream nodes; (d) routing the messages to an edge node using content-based routing; and
,(e) repeating steps (a) through (c) at the edge node, wherein the data is cached in a cache memory at the edge node; (f) determining that at least some requested cached data is stored at one or more of the plurality of upstream nodes; and (g) the edge node receiving a list of upstream nodes from the subscriber machine.
-
Specification