US10439916B2ActiveUtilityA1

Client-side fault tolerance in a publish-subscribe system

54
Assignee: IBMPriority: Mar 5, 2015Filed: Jun 8, 2017Granted: Oct 8, 2019
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-modified
What 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.