IP Library Granted Patent US 9,021,038
Granted Patent B2
US 9,021,038 · App. 14/047,667 · Granted Apr 28, 2015

Message delivery in messaging networks

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,021,038
App. No.
14/047,667
Granted
Apr 28, 2015
Kind
B2
Abstract

In response to receipt of a request message from a requester, a reply message is created. The reply message includes a message identifier of the request message copied from the received request message. The reply message is published to each of a group of replicated message queues. The reply message is identifiable by the requester using the copied message identifier of the request message on any one of the group of replicated message queues prior to being consumed by the requester.

Claims (33)

1. A method for message delivery in messaging networks, comprising:

receiving a request message from a requester from one of a first plurality of replicated request message queues, where each of the first plurality of replicated request message queues is defined in association with one of a plurality of back-end message queue managers, and each of the plurality of back-end message queue managers subscribes to receive notification messages comprising information related to the first plurality of replicated request message queues;

creating, in response to receipt of the request message from the requester, a reply message comprising a message identifier of the request message copied from the received request message; and

publishing the reply message to each of a second plurality of replicated message queues, where the reply message is identifiable by the requester using the copied message identifier of the request message on any one of the second plurality of replicated message queues prior to being consumed by the requester.

2. The method of claim 1 , where publishing the reply message to each of the second plurality of replicated message queues comprises sending the reply message to each of a plurality of message managing systems in association with which the second plurality of replicated message queues are defined.

3. The method of claim 1 , where the request message further comprises a replicated reply-to message queue name identifier that specifies a plurality of replicated reply message queues, and where publishing the reply message to each of the second plurality of replicated message queues comprises publishing the reply message to each of the plurality of replicated reply message queues named as specified by the replicated reply-to message queue name identifier.

4. The method of claim 1 , where publishing the reply message to each of the second plurality of replicated message queues comprises publishing the reply message to each of a plurality of queue managers that each host one of the second plurality of replicated message queues.

5. The method of claim 1 , where:

the second plurality of replicated message queues comprise a messaging network with a configured number of replicated message queues; and

publishing the reply message to each of the second plurality of replicated message queues provides redundant publication of the reply message that facilitates delivery of the reply message to the requester in an event of a failure of message managing systems that host all but one of the configured number of replicated message queues of the messaging network.

6. An apparatus for message delivery in messaging networks, comprising:

a communication interface; and

a processor programmed to:

receive a request message from a requester from one of a first plurality of replicated request message queues, where each of the first plurality of replicated request message queues is defined in association with one of a plurality of back-end message queue managers, and each of the plurality of back-end message queue managers subscribes to receive notification messages comprising information related to the first plurality of replicated request message queues;

create, in response to receipt of the request message from the requester, a reply message comprising a message identifier of the request message copied from the received request message; and

publish, via the communication interface, the reply message to each of a second plurality of replicated message queues, where the reply message is identifiable by the requester using the copied message identifier of the request message on any one of the second plurality of replicated message queues prior to being consumed by the requester.

7. The apparatus of claim 6 , where, in being programmed to publish the reply message to each of the second plurality of replicated message queues, the processor is programmed to send the reply message to each of a plurality of message managing systems in association with which the second plurality of replicated message queues are defined.

8. The apparatus of claim 6 , where the request message further comprises a replicated reply-to message queue name identifier that specifies a plurality of replicated reply message queues, and where, in being programmed to publish the reply message to each of the second plurality of replicated message queues, the processor is programmed to publish the reply message to each of the plurality of replicated reply message queues named as specified by the replicated reply-to message queue name identifier.

9. The apparatus of claim 6 , where, in being programmed to publish the reply message to each of the second plurality of replicated message queues, the processor is programmed to publish the reply message to each of a plurality of queue managers that each host one of the second plurality of replicated message queues.

10. The apparatus of claim 6 , where:

the second plurality of replicated message queues comprise a messaging network with a configured number of replicated message queues; and

the processor being programmed to publish the reply message to each of the second plurality of replicated message queues provides redundant publication of the reply message that facilitates delivery of the reply message to the requester in an event of a failure of message managing systems that host all but one of the configured number of replicated message queues of the messaging network.

11. A computer program product, stored on a non-transitory computer readable storage medium, comprising:

computer readable program code, where the computer readable program code when executed on a computer causes the computer to:

receive a request message from a requester from one of a first plurality of replicated request message queues, where each of the first plurality of replicated request message queues is defined in association with one of a plurality of back-end message queue managers, and each of the plurality of back-end message queue managers subscribes to receive notification messages comprising information related to the first plurality of replicated request message queues;

create, in response to receipt of the request message from the requester, a reply message comprising a message identifier of the request message copied from the received request message; and

publish the reply message to each of a second plurality of replicated message queues, where the reply message is identifiable by the requester using the copied message identifier of the request message on any one of the second plurality of replicated message queues prior to being consumed by the requester.

12. The computer program product stored on the non-transitory computer readable storage medium of claim 11 , where, in causing the computer to publish the reply message to each of the second plurality of replicated message queues, the computer readable program code when executed on the computer causes the computer to send the reply message to each of a plurality of message managing systems in association with which the second plurality of replicated message queues are defined.

13. The computer program product stored on the non-transitory computer readable storage medium of claim 11 , where the request message further comprises a replicated reply-to message queue name identifier that specifies a plurality of replicated reply message queues, and where, in causing the computer to publish the reply message to each of the second plurality of replicated message queues, the computer readable program code when executed on the computer causes the computer to publish the reply message to each of the plurality of replicated reply message queues named as specified by the replicated reply-to message queue name identifier.

14. The computer program product stored on the non-transitory computer readable storage medium of claim 11 , where, in causing the computer to publish the reply message to each of the second plurality of replicated message queues, the computer readable program code when executed on the computer causes the computer to publish the reply message to each of a plurality of queue managers that each host one of the second plurality of replicated message queues.

15. The computer program product stored on the non-transitory computer readable storage medium of claim 11 , where:

the second plurality of replicated message queues comprise a messaging network with a configured number of replicated message queues; and

the computer readable program code when executed on the computer causing the computer to publish the reply message to each of the second plurality of replicated message queues provides redundant publication of the reply message that facilitates delivery of the reply message to the requester in an event of a failure of message managing systems that host all but one of the configured number of replicated message queues of the messaging network.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SNAPCHAT, INC.
Reel/Frame 037573/0170 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2013
From: BANKS, ANDREW D.; BEARDALL, GAVIN D.; HOBSON, STEPHEN J.; VANSTONE, IAN C.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031357/0486 →