System and method for providing an actively invalidated client-side network resource cache
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, the data being subject to subsequent change, the server being further configured to establish a queue associated with the identifier at a scalable message queuing system, the scalable message queuing system including a plurality of gateway nodes configured to receive connections from client systems 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; the client being further 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 from the scalable message queuing system.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising:
a data processor; a network connection, in data communication with the processor, for access to a network; and a message queue system module, executable by the processor, to:
receive queue subscription requests from a plurality of clients via the network connection, the queue subscription requests including a request for data from an identified queue and a request to receive invalidation information associated with the requested data;
use a consistent hash table to map the identified queue to a corresponding queue node;
convey information indicative of an invalidation event associated with the requested data to any of the plurality of clients from which a request to receive invalidation information was received; and
receive a request for an update to the requested data in response to the conveyance of the information indicative of the invalidation event associated with the requested data.
2 . The system of claim 1 wherein the queue subscription request is sent over a hypertext transfer protocol (HTTP) based protocol and the queue is identified using a uniform resource identifier (URI).
3 . The system of claim 1 wherein the information indicative of the invalidation event is conveyed to any of the plurality of clients via WebSocket protocol.
4 . The system of claim 1 wherein the information indicative of the invalidation event includes an identifier of the data that was invalidated.
5 . The system of claim 1 wherein the information indicative of the invalidation event includes a shortened version of an identifier of the data that was invalidated.
6 . The system of claim 1 wherein the information indicative of the invalidation event is sent through the corresponding subscribed queue.
7 . The system of claim 1 wherein the information indicative of the invalidation event is sent as a state update in a state mount that maps an identifier of the data to a version number.
8 . The system of claim 1 wherein the message queue system module being further configured to use a supervisor process to manage a mapping of the identified queue to a corresponding queue node.
9 . The system of claim 1 wherein the message queue system module being further configured to translate the request from a protocol to a system message.
10 . A method comprising:
receiving queue subscription requests from a plurality of clients via a network connection, the queue subscription requests including a request for data from an identified queue and a request to receive invalidation information associated with the requested data; using a consistent hash table to map the identified queue to a corresponding queue node; conveying information indicative of an invalidation event associated with the requested data to any of the plurality of clients from which a request to receive invalidation information was received; and receiving a request for an update to the requested data in response to the conveyance of the information indicative of the invalidation event associated with the requested data.
11 . The method of claim 10 wherein the queue subscription request is sent over a hypertext transfer protocol (HTTP) based protocol and the queue is identified using a uniform resource identifier (URI).
12 . The method of claim 10 wherein the information indicative of the invalidation event is conveyed to any of the plurality of clients via WebSocket protocol.
13 . The method of claim 10 wherein the information indicative of the invalidation event includes an identifier of the data that was invalidated.
14 . The method of claim 10 wherein the information indicative of the invalidation event includes a shortened version of an identifier of the data that was invalidated.
15 . The method of claim 10 wherein the information indicative of the invalidation event is sent through the corresponding subscribed queue.
16 . The method of claim 10 wherein the information indicative of the invalidation event is sent as a state update in a state mount that maps an identifier of the data to a version number.
17 . The method of claim 10 including using a supervisor process to manage a mapping of the identified queue to a corresponding queue node.
18 . The method of claim 10 including translating the request from a protocol to a system message.
19 . A non-transitory machine-useable storage medium embodying instructions which, when executed by a machine, cause the machine to:
receive queue subscription requests from a plurality of clients via the network connection, the queue subscription requests including a request for data from an identified queue and a request to receive invalidation information associated with the requested data; use a consistent hash table to map the identified queue to a corresponding queue node; convey information indicative of an invalidation event associated with the requested data to any of the plurality of clients from which a request to receive invalidation information was received; and receive a request for an update to the requested data in response to the conveyance of the information indicative of the invalidation event associated with the requested data.
20 . The machine-useable storage medium of claim 19 wherein the instructions being further configured to translate the request from a protocol to a system message.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.