Patent ID: 8452833

Claim:
A method for distributing cached messages in a load-balanced publish/subscribe messaging network using an HTTP redirect in response to an HTTP client message request, the redirect response including a URI field at which a next message in a list of sequential messages slated for a HTTP client per the request is located, wherein the HTTP client uses the URI field to automatically iterate through and receive the entire list of sequential messages, the method comprising steps of: a) the HTTP client initiating a request for a next message in a sequence of messages; b) a HTTP server receiving the request and creating and inserting a client cursor in a message cache for a current client cursor cache location of the requested next message, and returning a HTTP redirect response to the HTTP client including the current client cursor cache location for the requested next message in the URI field in the redirect response enabling the HTTP client to directly access the message cache to retrieve each next message in the sequence; c) the HTTP client receiving the redirect response directly from the HTTP server, sending a new request to the current client cursor cache location in accordance with the URI field in the redirect response to secure the each next message and retrieving the each next message from the current client cursor cache location in the message cache; and d) the HTTP server automatically moving the current client cursor cache location in the message cache according to a speed of retrieving, by the HTTP client, of the each next message in the message cache; wherein steps b) and c) are repeated until the HTTP server returns a response other than a redirect response, or until the HTTP client fails to respond to a redirect response, wherein the message cache stores a history of messages published on each topic, and the messages in the message cache are served to different HTTP clients at different times based on HTTP clients' associated cursor locations in the message cache that is accessible to the different HTTP clients.