Claims
- 1. A publish/subscribe messaging system, comprising:
at least one broker and at least one subscriber, the broker having means for sending a status request message to the subscriber, and means for receiving an indication of liveness of the subscriber.
- 2. The system of claim 1 wherein the subscriber has means for sending a status response message to the broker to indicate liveness.
- 3. The system of claim 1 wherein the means for receiving comprises means for listening on a multicast channel and for determining an indication of non-liveness from failure to receive a response from the subscriber.
- 4. The publish/subscribe messaging system of claim 2 wherein the means for sending a status response message to the broker comprises means for suppressing sending of the status response message if at least another subscriber sends a status response message.
- 5. The publish/subscribe messaging system of claim 4 wherein the means for suppressing sending of the status response message comprises:
means for setting a timer upon receipt of a status request message from the broker; means for sending, on expiry of the timer, a multicast message claiming response to the broker; means for cancelling the timer and discarding the status request message if the subscriber receives a message claiming response from another subscriber; and means for sending the status response message to the broker following sending a message claiming response.
- 6. The publish/subscribe messaging system of claim 5 wherein the broker further comprises means for re-sending the status request message if it does not receive a response thereto.
- 7. The publish/subscribe messaging system of claim 4 wherein the means for suppressing sending of the status response message is arranged to suppress sending of the status response message if at least a desired plurality of other subscribers send a status response message.
- 8. The publish/subscribe messaging system of claim 7 wherein the means for suppressing sending of the status response message comprises:
means for setting a timer upon receipt of a status request message from the broker, the status request message containing a parameter representative of the desired plurality of other subscribers; means for sending, on expiry of the timer, a multicast message claiming response to the broker; means for cancelling the timer and discarding the status request message if the subscriber receives messages claiming response from the desired plurality of other subscribers; and means for sending the status response message to the broker following sending a message claiming response.
- 9. The publish/subscribe messaging system of claim 5 wherein the timer has a random duration.
- 10. The publish/subscribe messaging system of claim 1 wherein at least one of the subscribers is arranged to maintain an active connection to the broker established during registration, and to use the active connection to indicate liveness to the broker.
- 11. The publish/subscribe messaging system of claim 10 wherein the subscriber has means for sending a status response message to the broker to indicate liveness and
- 12. A publish/subscribe messaging system according to claim 1, wherein the broker is arranged to designate as a primary subscriber the first subscriber to register interest in a topic, and to maintain an active connection to the primary subscriber for sending directly to the primary subscriber a status request message, and in the event of failure of the primary subscriber to send a status request message to at least one other subscriber and to designate as a new primary subscriber the at least one of the other subscribers whose indication of liveness is next first received.
- 13. The publish/subscribe messaging system of claim 10 wherein the active connection is a TCP/IP connection.
- 14. The publish/subscribe messaging system of claim 1 wherein the status request message is piggybacked onto another multicast publication message.
- 15. The publish/subscribe messaging system of claim 1 wherein the indication of liveness is sent over one of:
a UDP connection; and a TCP connection.
- 16. The publish/subscribe messaging system of claim 15 wherein the connection over which the indication of liveness is sent is arranged to escalate autonomously from a UDP connection to a TCP connection in the event of no responses being received by the broker within a chosen time period.
- 17. A method for liveness monitoring in a publish/subscribe messaging system having at least one broker and at least one subscriber, the method comprising:
at the broker, sending a status request message to the subscriber, and receiving an indication of liveness of the subscriber.
- 18. The method of claim 17 comprising:
at the subscriber, sending a status response message to the broker to indicate liveness.
- 19. The method of claim 17 wherein the step of receiving comprises listening on a multicast channel and determining an indication of non-liveness from failure to receive a response from the subscriber.
- 20. The method of claim 18 wherein the step of sending a status response message to the broker comprises suppressing sending of the status response message if at least another subscriber sends a status response message.
- 21. The method of claim 20 wherein the step of suppressing sending of the status response message comprises:
setting a timer upon receipt of a status request message from the broker; performing one of A) and B):
A) sending, on expiry of the timer, a multicast message claiming response to the broker; B) cancelling the timer and discarding the status request message if the subscriber receives a message claiming response from another subscriber; and sending the status response message to the broker following sending a message claiming response.
- 22. The method of claim 21 further comprising, at the broker, re-sending the status request message if the broker does not receive a response thereto.
- 23. The method of claim 20 wherein the step of suppressing sending of the status response message comprises suppressing sending of the status response message if at least a desired plurality of other subscribers send a status response message.
- 24. The method of claim 23 wherein the step of suppressing sending of the status response message comprises:
setting a timer upon receipt of a status request message from the broker, the status request message containing a parameter representative of the desired plurality of other subscribers; performing one of A) and B):
A) sending, on expiry of the timer, a multicast message claiming response to the broker; B) cancelling the timer and discarding the status request message if the subscriber receives messages claiming response from the desired plurality of other subscribers; and sending the status response message to the broker following sending a message claiming response.
- 25. The method of claim 21 wherein the timer has a random duration.
- 26. The method of claim 17 further comprising, at least one of the subscribers, maintaining an active connection to the broker established during registration, and using the active connection to indicate liveness to the broker.
- 27. The method of claim 26 comprising:
at the subscriber, sending a status response message to the broker to indicate liveness, wherein the step of sending a status response message to the broker comprises suppressing sending of the status response message if at least another subscriber sends a status response message and wherein the step of suppressing sending of the status response message comprises: checking, upon receipt of a status request message from the broker, whether the subscriber has an active connection to the broker and if so performing one of A) and B):
A) sending a multicast response claim message, and sending a status response message to the broker via the active connections; B) setting a timer and then sending a multicast response claim and a status response message to the broker via the active connection; and following sending of a multicast response message, establishing an active connection to the broker if not already established and sending the status response message to the broker via the active connection.
- 28. A method of liveness monitoring in a publish/subscribe messaging system having at least one broker and at least one subscriber, comprising:
at the broker, designating as a primary subscriber the first subscriber to register interest in a topic, and maintaining an active connection to the primary subscriber for sending directly to the primary subscriber a status request message, and in the event of failure of the primary subscriber to revert to the request method of claim 17 and designating as a new primary subscriber the subscriber whose indication of liveness is next first received.
- 29. The method of claim 26 wherein the active connection is a TCP/IP connection.
- 30. The method of claim 17 wherein the status request message is piggybacked onto another multicast publication message.
- 31. The method of claim 17 wherein the indication of liveness is sent over one of:
a UDP connection; and a TCP connection.
- 32. The method of claim 31 wherein the connection over which the indication of liveness is sent escalates autonomously from a UDP connection to a TCP connection in the event of no responses being received by the broker within a chosen time period.
- 33. A computer program element comprising computer program means for performing substantially the method of claim 17, when said program is run on a computer.
- 34. A publish/subscribe messaging system substantially as hereinbefore described with reference to any one of FIGS. 3-5 of the accompanying drawings.
- 35. A method, for liveness monitoring in a publish/subscribe messaging system, substantially as hereinbefore described with reference to any one of FIGS. 3-5 of the accompanying drawings.
- 36. A subscriber for indicating liveness to a broker in a multicast publish/subscribe messaging system comprising the broker and a plurality of subscribers, the subscriber comprising:
means, responsive to receiving a status request from the broker, for sending an indication of liveness to the broker.
- 37. The subscriber of claim 36, comprising:
means for sending a status response message to the broker to indicate liveness.
- 38. The subscriber of claim 37 comprising:
means for suppressing sending of the status response message if at least another subscriber sends a status response message.
- 39. The subscriber of claim 38 wherein the means for suppressing sending of the status response message comprises:
means for setting a timer upon receipt of a status request message from the broker; means for sending, on expiry of the timer, a multicast message claiming response to the broker; means for cancelling the timer and discarding the status request message if the subscriber receives a message claiming response from another subscriber; and means for sending the status response message to the broker following sending a message claiming response.
- 40. The subscriber of claim 38 wherein the means for suppressing sending of the status response message is arranged to suppress sending of the status response message if at least a desired plurality of other subscribers send a status response message.
- 41. The subscriber of claim 40 wherein the means for suppressing sending of the status response message comprises:
means for setting a timer upon receipt of a status request message from the broker, the status request message containing a parameter representative of the desired plurality of other subscribers; means for sending, on expiry of the timer, a multicast message claiming response to the broker; means for cancelling the timer and discarding the status request message if the subscriber receives messages claiming response from the desired plurality of other subscribers; and means for sending the status response message to the broker following sending a message claiming response.
- 42. The subscriber of claim 36 comprising:
means for maintaining an active connection to the broker established during registration; and means for using the active connection to indicate liveness to the broker.
- 43. The subscriber of claim 36 comprising:
means for sending a status response message to the broker to indicate liveness, wherein the means for sending a status response message to the broker comprises means for suppressing sending of the status response message if at least another subscriber sends a status response message and wherein the means for suppressing sending of the status response message comprises: means for checking, upon receipt of a status request message from the broker, whether the subscriber has an active connection to the broker and if so performing one of A) and B):
A) sending a multicast response claim message, and sending a status response message to the broker via the active connections; B) setting a timer and then sending a multicast response claim and a status response message to the broker via the active connection; and means for, following sending of a multicast response message, establishing an active connection to the broker if not already established and sending the status response message to the broker via the active connection.
- 44. A method for indicating liveness to a broker in a multicast publish/subscribe messaging system comprising the broker and a plurality of subscribers, the method comprising the step of:
responsive to receiving a status request from the broker, sending an indication of liveness to the broker.
- 45. The method of claim 44, comprising the step of:
sending a status response message to the broker to indicate liveness.
- 46. The method of claim 45 comprising:
suppressing sending of the status response message if at least another subscriber sends a status response message.
- 47. The method of claim 46 wherein the step of suppressing sending of the status response message comprises:
setting a timer upon receipt of a status request message from the broker; sending, on expiry of the timer, a multicast messaging claiming response to the broker; cancelling the timer and discarding the status request message if the subscriber receives a message claiming response from another subscriber; and sending the status response message to the broker following sending a message claiming response.
- 48. The method of claim 46 wherein the step of suppressing sending of the status response message is arranged to suppress sending of the status response message if at least a desired plurality of other subscribers send a status response message.
- 49. The method of claim 48 wherein the step of suppressing sending of the status response message comprises:
setting a timer upon receipt of a status request message from the broker, the status request message containing a parameter representative of the desired plurality of other subscribers; sending, on expiry of the timer, a multicast message claiming response to the broker; cancelling the timer and discarding the status request message if the subscriber receives messages claiming response from the desired plurality of other subscribers; and sending the status response message to the broker following sending a message claiming response.
- 50. The method of claim 44 comprising:
maintaining an active connection to the broker established during registration; and using the active connection to indicate liveness to the broker.
- 51. The method of claim 50 comprising:
sending a status response message to the broker to indicate liveness, wherein the step of sending a status response message to the broker comprises suppressing sending of the status response message if at least another subscriber sends a status response message and wherein the step of suppressing sending of the status response message comprises: checking, upon receipt of a status request message from the broker, whether the subscriber has an active connection to the broker and if so performing one of A) and B):
A) sending a multicast response claim message, and sending a status response message to the broker via the active connections; B) setting a timer and then sending a multicast response claim and a status response message to the broker via the active connection; and following sending of a multicast response message, establishing an active connection to the broker if not already established and sending the status response message to the broker via the active connection.
- 52. A computer program comprising program code means adapted to perform the method of claim 44 when executed upon a computer.
Priority Claims (1)
Number |
Date |
Country |
Kind |
0308035.5 |
Apr 2003 |
GB |
|
Parent Case Info
[0001] This patent application is related to a US patent application entitled “Liveness Monitoring in a Publish/Subscribe Messaging System”, Ser. No. ______ filed on ______, attorney docket no GB920030046US1 which is incorporated herein by reference.