US10439916B2ActiveUtilityA1
Client-side fault tolerance in a publish-subscribe system
Est. expiryMar 5, 2035(~8.7 yrs left)· nominal 20-yr term from priority
H04L 67/145H04L 43/10H04L 67/26H04L 67/55H04L 67/01
54
PatentIndex Score
0
Cited by
20
References
20
Claims
Abstract
To provide client-side fault-tolerance in a publish-subscribe system, a message is received on a channel from a server. At a function executing using a processor and a memory, a determination is made whether the message contains a heartbeat data. When the message contains the heartbeat data, a determination is made whether a content signature contained in the message matches a last known content signature saved from a previous message. When the content signature contained in the message does not match the last known content signature saved from a previous message, a refresh message is sent to the channel.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for client-side fault-tolerance in a publish-subscribe system, the method comprising:
saving a last known content signature from a previous message when the previous message is received on a channel at a server;
receiving, on the channel, a message from the server;
determining, at a function executing using a processor and a memory, whether the message contains a heartbeat data, wherein the message includes a content signature;
determining, responsive to the message containing the heartbeat data, whether a client is in sync with the server for a content published by the server by determining whether the content signature contained in the message matches the last known content signature; and
sending, responsive to the content signature contained in the message not matching the last known content signature, a refresh message to the channel, the refresh message causing a response to an original request to be re-received on the channel.
2. The method of claim 1 , further comprising:
receiving an other message after the message;
determining that the other message carries content and a corresponding content signature; and
saving the content signature of the other message as the last known content signature.
3. The method of claim 1 , wherein the content signature contained in the message comprises a content signature used by the server in a last message that carried content, wherein the content is responsive to a request, and wherein the heartbeat data is not responsive to the request.
4. The method of claim 1 , further comprising:
activating a timeout timer upon receiving the previous message;
determining that the message has been received on the channel prior to the timeout timer expiring; and
resetting and reactivating the timeout timer upon receiving the message.
5. The method of claim 1 , further comprising:
activating a timeout timer upon receiving an other message; and
re-subscribing to the channel, responsive to the timeout timer expiring prior to receiving a next message subsequent to the other message.
6. The method of claim 1 , further comprising:
clearing, responsive to sending the refresh message, the last known content signature from the previous message.
7. The method of claim 1 , further comprising:
receiving, responsive to the refresh message, a response message; and
setting the last known content signature with a content signature contained in the response message.
8. The method of claim 1 , further comprising:
activating a timeout timer upon receiving the response message;
receiving, prior to the timeout timer expiring, a next message subsequent to the response message;
determining that the next message carries a second heartbeat data;
determining that a second content signature contained in the next message matches the last known content signature saved from the response message; and
resetting and reactivating the timeout timer upon receiving the next message.
9. The method of claim 8 , further comprising:
monitoring the channel for a content update from the server.
10. A computer usable program product comprising a computer readable storage device including computer usable code for client-side fault-tolerance in a publish-subscribe system, the computer usable code comprising:
computer usable code for saving a last known content signature from a previous message when the previous message is received on a channel at a server;
computer usable code for receiving, on the channel, a message from the server;
computer usable code for determining, at a function executing using a processor and a memory, whether the message contains a heartbeat data, wherein the message includes a content signature;
computer usable code for determining, responsive to the message containing the heartbeat data, whether a client is in sync with the server for a content published by the server by determining whether the content signature contained in the message matches the last known content signature; and
computer usable code for sending, responsive to the content signature contained in the message not matching the last known content signature, a refresh message to the channel, the refresh message causing a response to an original request to be re-received on the channel.
11. The computer usable program product of claim 10 , further comprising:
computer usable code for receiving an other message after the message;
computer usable code for determining that the other message carries content and a corresponding content signature; and
computer usable code for saving the content signature of the other message as the last known content signature.
12. The computer usable program product of claim 10 , wherein the content signature contained in the message comprises a content signature used by the server in a last message that carried content, wherein the content is responsive to a request, and wherein the heartbeat data is not responsive to the request.
13. The computer usable program product of claim 10 , further comprising:
computer usable code for activating a timeout timer upon receiving the previous message;
computer usable code for determining that the message has been received on the channel prior to the timeout timer expiring; and
computer usable code for resetting and reactivating the timeout timer upon receiving the message.
14. The computer usable program product of claim 10 , further comprising:
computer usable code for activating a timeout timer upon receiving an other message; and
computer usable code for re-subscribing to the channel, responsive to the timeout timer expiring prior to receiving a next message subsequent to the other message.
15. The computer usable program product of claim 10 , further comprising:
computer usable code for clearing, responsive to sending the refresh message, the last known content signature from the previous message.
16. The computer usable program product of claim 10 , further comprising:
computer usable code for receiving, responsive to the refresh message, a response message; and
computer usable code for setting the last known content signature with a content signature contained in the response message.
17. The computer usable program product of claim 10 , further comprising:
computer usable code for activating a timeout timer upon receiving the response message;
computer usable code for receiving, prior to the timeout timer expiring, a next message subsequent to the response message;
computer usable code for determining that the next message carries a second heartbeat data;
determining that a second content signature contained in the next message matches the last known content signature saved from the response message; and
computer usable code for resetting and reactivating the timeout timer upon receiving the next message.
18. The computer usable program product of claim 10 , wherein the computer usable code is stored in a computer readable storage device in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system.
19. The computer usable program product of claim 10 , wherein the computer usable code is stored in a computer readable storage device in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system.
20. A data processing system for client-side fault-tolerance in a publish-subscribe system, the data processing system comprising:
a storage device, wherein the storage device stores computer usable program code; and
a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code comprises:
computer usable code for saving a last known content signature from a previous message when the previous message is received on a channel at a server;
computer usable code for receiving, on the channel, a message from the server;
computer usable code for determining, at a function executing using a processor and a memory, whether the message contains a heartbeat data, wherein the message includes a content signature;
computer usable code for determining, responsive to the message containing the heartbeat data, whether a client is in sync with the server for a content published by the server by determining whether the content signature contained in the message matches the last known content signature; and
computer usable code for sending, responsive to the content signature contained in the message not matching the last known content signature, a refresh message to the channel, the refresh message causing a response to an original request to be re-received on the channel.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.