There is provided a method for recalling a message. The method comprises receiving a message from a publisher, sending the message to a durable subscriber for queuing pending consumption by a subscriber. When a message recall request identifying the message is received, the unconsumed message is deleted from the durable subscriber.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, performed within and by a publish/subscribe server, comprising: identifying a plurality of subscriber instances subscribed to a topic; receiving, from a publisher, a message directed to the topic; sending the message, from the publish/subscribe server, to a plurality of durable subscribers respectively associated with the identified plurality of subscriber instances; receiving, from the publisher of the message, a message recall request including a topicid of the message; identifying, using the topicid, subscribers instances that have not consumed the message; and instructing durable subscriber respectively associated with the subscriber instances that have not consumed the message to delete the message, wherein each of the durable subscribers respectively associated with the subscriber instances that have not consumed the message have not sent the message to the subscriber instance with which each of the durable subscribers is associated.
2. The method of claim 1 , wherein the message is sent to the plurality of durable subscribers respectively associated with the identified plurality of subscriber instances based upon the identified plurality of durable subscriber instances each being subscribed to the topicid.
3. The method of claim 1 , wherein a message recall API places the message recall request in a queue.
4. The method of claim 3 , wherein a message cleanup agent pops the message recall request from the queue.
5. The method of claim 4 , wherein the message cleanup agent performs the instructing.
6. A publish/subscribe server, comprising: a hardware processor configured to perform: identifying a plurality of subscriber instances subscribed to a topic; receiving, from a publisher, a message directed to the topic; sending the message, from the publish/subscribe server, to a plurality of durable subscribers respectively associated with the identified plurality of subscriber instances; receiving, from the publisher of the message, a message recall request including a topicid of the message; identifying, using the topicid, subscribers instances that have not consumed the message; and instructing durable subscriber respectively associated with the subscriber instances that have not consumed the message to delete the message, wherein each of the durable subscribers respectively associated with the subscriber instances that have not consumed the message have not sent the message to the subscriber instance with which each of the durable subscribers is associated.
7. The publish/subscribe server of claim 6 , wherein the message is sent to the plurality of durable subscribers respectively associated with the identified plurality of subscriber instances based upon the identified plurality of durable subscriber instances each being subscribed to the topicid.
8. The publish/subscribe server of claim 6 , wherein a message recall API places the message recall request in a queue.
9. The publish/subscribe server of claim 8 , wherein a message cleanup agent pops the message recall request from the queue.
10. The publish/subscribe server of claim 9 , wherein the message cleanup agent performs the instructing.
11. A computer program product, comprising: a computer-usable storage medium having stored therein computer-usable program code, the computer-usable program code, which when executed by a publish/subscribe server, causes the publish/subscribe server to perform: identifying a plurality of subscriber instances subscribed to a topic; receiving, from a publisher, a message directed to the topic; sending the message, from the publish/subscribe server, to a plurality of durable subscribers respectively associated with the identified plurality of subscriber instances; receiving, from the publisher of the message, a message recall request including a topicid of the message; identifying, using the topicid, subscribers instances that have not consumed the message; and instructing durable subscriber respectively associated with the subscriber instances that have not consumed the message to delete the message, wherein each of the durable subscribers respectively associated with the subscriber instances that have not consumed the message have not sent the message to the subscriber instance with which each of the durable subscribers is associated.
12. The computer program product of claim 11 , wherein the message is sent to the plurality of durable subscribers respectively associated with the identified plurality of subscriber instances based upon the identified plurality of durable subscriber instances each being subscribed to the topicid.
13. The computer program product of claim 11 , wherein a message recall API places the message recall request in a queue.
14. The computer program product of claim 13 , wherein a message cleanup agent pops the message recall request from the queue.
15. The computer program product of claim 14 , wherein the message cleanup agent performs the instructing.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 1, 2019
August 3, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.