Dynamically routing messages between software application programs using named routing nodes and named message queues
First Claim
1. A method of dynamically routing electronic messages between software application programs, the method comprising:
- receiving an electronic message from a first software application program, the electronic message including a first routing node name and a first queue name associated with a first queue for receiving the electronic message;
receiving an informational message from at least one of a plurality of remotely-located software processes, the informational message containing network connection information associated with a second routing node name and a second queue name associated with a second queue, the contents of the second queue being accessible by a second software application program; and
routing at least part of the electronic message from the first queue to the second queue using the network connection information contained in the informational message.
5 Assignments
0 Petitions
Accused Products
Abstract
The disclosed technology enables electronic messages generated by one software application program to be routed to another remote software application program via a middleware oriented messaging (“MOM”) infrastructure using named/labeled routing nodes and queues. Network connection information corresponding to particular routing nodes and queues can be automatically and dynamically determined by periodically, and/or upon the occurrence of an event, transmitting/receiving informational messages between software processes associated with known/previously-encountered routing nodes and queues. The routing nodes and queues can be identified by names or labels, which can be dynamically mapped to network connection information at runtime in the event of an addition, deletion, or modification to a processor cluster via the information contained in the informational messages.
-
Citations
30 Claims
-
1. A method of dynamically routing electronic messages between software application programs, the method comprising:
-
receiving an electronic message from a first software application program, the electronic message including a first routing node name and a first queue name associated with a first queue for receiving the electronic message;
receiving an informational message from at least one of a plurality of remotely-located software processes, the informational message containing network connection information associated with a second routing node name and a second queue name associated with a second queue, the contents of the second queue being accessible by a second software application program; and
routing at least part of the electronic message from the first queue to the second queue using the network connection information contained in the informational message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for dynamically routing electronic messages between software application programs, the system comprising:
-
a first queue receiving an electronic message from a first software application program, the electronic message identifying a first routing node name and a first queue name associated with the first queue;
a listener thread associated with the first routing node name and receiving an informational message from at least one of a plurality of remotely-located software processes, the informational message containing network connection information associated with a second routing node name and a second queue name associated with a second queue, the contents of the second queue being accessible by a second software application program; and
a dispatcher thread accessing at least part of the network connection information contained in the informational message to direct the formation of a network connection to the second queue, wherein at least part of the electronic message from the first queue is routed to the second queue via the network connection. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification