System and method for providing an actively invalidated client-side network resource cache
First Claim
1. A system for delivering data to a client application over a network, the system comprising:
- a server in data communication with the network;
a client in data communication with the server via the network, a client application executing on the client;
a scalable message queuing system in data communication with the server and the client via the network, the scalable message queuing system including a plurality of gateway nodes configured to receive connections from the client over the network, a plurality of queue nodes containing subscription information about queue subscribers, and a consistent hash table mapping a queue identifier requested on a gateway node to a corresponding queue node for the requested queue identifier;
the client being configured to request, for the client application, data associated with a data identifier from the server, the request including a header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data, the data identifier including a uniform resource identifier (URI);
the server being configured to provide the data associated with the data identifier, the data being subject to subsequent change, the server being further configured to establish a queue associated with the data identifier at the scalable message queuing system, a queue identifier corresponding to the established queue being returned to the client;
the client being further configured to subscribe to the queue corresponding to the queue identifier at the scalable message queuing system using the returned queue identifier to receive invalidation information associated with the data;
the server being further configured to signal the queue corresponding to the queue identifier of an invalidation event associated with the data in response to receiving the header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data;
the scalable message queuing system being configured to convey information indicative of the invalidation event of the queue corresponding to the queue identifier to the subscribed client in response to receiving the signal of the invalidation event associated with the queue corresponding to the queue identifier from the server; and
the client being further configured to re-request the data associated with the data identifier from the server upon receipt of the information indicative of the invalidation event from the queue corresponding to the queue identifier of the scalable message queuing system.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for providing an actively invalidated client-side network resource cache are disclosed. A particular embodiment includes: a client configured to request, for a client application, data associated with an identifier from a server; the server configured to provide the data associated with the identifier and to establish a queue associated with the identifier at a scalable message queuing system, the client being configured to subscribe to the queue at the scalable message queuing system to receive invalidation information associated with the data; the server being further configured to signal the queue of an invalidation event associated with the data; the scalable message queuing system being configured to convey information indicative of the invalidation event to the client; and the client being further configured to re-request the data associated with the identifier from the server upon receipt of the information indicative of the invalidation event.
-
Citations
20 Claims
-
1. A system for delivering data to a client application over a network, the system comprising:
-
a server in data communication with the network; a client in data communication with the server via the network, a client application executing on the client; a scalable message queuing system in data communication with the server and the client via the network, the scalable message queuing system including a plurality of gateway nodes configured to receive connections from the client over the network, a plurality of queue nodes containing subscription information about queue subscribers, and a consistent hash table mapping a queue identifier requested on a gateway node to a corresponding queue node for the requested queue identifier; the client being configured to request, for the client application, data associated with a data identifier from the server, the request including a header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data, the data identifier including a uniform resource identifier (URI); the server being configured to provide the data associated with the data identifier, the data being subject to subsequent change, the server being further configured to establish a queue associated with the data identifier at the scalable message queuing system, a queue identifier corresponding to the established queue being returned to the client; the client being further configured to subscribe to the queue corresponding to the queue identifier at the scalable message queuing system using the returned queue identifier to receive invalidation information associated with the data; the server being further configured to signal the queue corresponding to the queue identifier of an invalidation event associated with the data in response to receiving the header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data; the scalable message queuing system being configured to convey information indicative of the invalidation event of the queue corresponding to the queue identifier to the subscribed client in response to receiving the signal of the invalidation event associated with the queue corresponding to the queue identifier from the server; and the client being further configured to re-request the data associated with the data identifier from the server upon receipt of the information indicative of the invalidation event from the queue corresponding to the queue identifier of the scalable message queuing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
configuring, by use of a data processor, a client to request, for a client application, data associated with a data identifier from a server, the request including a header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data, the data identifier including a uniform resource identifier (URI); configuring, by use of a data processor, the server to provide the data associated with the data identifier, the data being subject to subsequent change, the server being further configured to establish a queue associated with the data identifier at a scalable message queuing system, a queue identifier corresponding to the established queue being returned to the client, the scalable message queuing system including a plurality of gateway nodes configured to receive connections from the client over a network, a plurality of queue nodes containing subscription information about queue subscribers, and a consistent hash table mapping a queue identifier requested on a gateway node to a corresponding queue node for the requested queue identifier; configuring the client to subscribe to the queue corresponding to the queue identifier at the scalable message queuing system using the returned queue identifier to receive invalidation information associated with the data; configuring the server to signal the queue corresponding to the queue identifier of an invalidation event associated with the data in response to receiving the header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data; configuring, by use of a data processor, the scalable message queuing system to convey information indicative of the invalidation event of the queue corresponding to the queue identifier to the subscribed client in response to receiving the signal of the invalidation event associated with the queue corresponding to the queue identifier from the server; and configuring the client to re-request the data associated with the data identifier from the server upon receipt of the information indicative of the invalidation event from the queue corresponding to the queue identifier of the scalable message queuing system. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory machine-useable storage medium embodying instructions which, when executed by a machine, cause the machine to:
-
configure a client to request, for a client application, data associated with a data identifier from a server, the request including a header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data, the data identifier including a uniform resource identifier (URI); configure the server to provide the data associated with the data identifier, the data being subject to subsequent change, the server being further configured to establish a queue associated with the data identifier at a scalable message queuing system, a queue identifier corresponding to the established queue being returned to the client, the scalable message queuing system including a plurality of gateway nodes configured to receive connections from the client over a network, a plurality of queue nodes containing subscription information about queue subscribers, and a consistent hash table mapping a queue identifier requested on a gateway node to a corresponding queue node for the requested queue identifier; configure the client to subscribe to the queue corresponding to the queue identifier at the scalable message queuing system using the returned queue identifier to receive invalidation information associated with the data; configure the server to signal the queue corresponding to the queue identifier of an invalidation event associated with the data in response to receiving the header to signal the server that the client requests receipt of real-time invalidation information associated with the requested data; configure the scalable message queuing system to convey information indicative of the invalidation event of the queue corresponding to the queue identifier to the subscribed client in response to receiving the signal of the invalidation event associated with the queue corresponding to the queue identifier from the server; and configure the client to re-request the data associated with the data identifier from the server upon receipt of the information indicative of the invalidation event from the queue corresponding to the queue identifier of the scalable message queuing system. - View Dependent Claims (20)
-
Specification