System and method for message processing and routing
First Claim
1. A computerized message routing system comprising:
- a plurality of disparate messaging subsystems having different transaction management protocols, wherein the disparate messaging subsystems include a publisher to publish messages under general subjects using different transports;
a router using a processor to run a consumer process that includes multiple consumer threads, a publisher process that includes multiple publisher threads to publish messages from the router, and an application to execute multiple routing rules on inbound messages received from the publisher, wherein the application determines a set of specific subjects for each of the inbound messages on which outbound messages from the router will be published to consumers in accordance with a subscription based on the specific subjects and the general subjects; and
wherein additional consumer threads can be added to the multiple consumer threads based on performance of the router.
2 Assignments
0 Petitions
Accused Products
Abstract
A message routing system that allows applications at either end of the system to run as-is without modification. The system functions in a multithreaded environment and is capable of handling complex routing rules and message transformation. It is also capable of learning and executing new routing rules and message transformations in formats previously unrecognized by the system. The system enables precise and reliable logging of messages throughout processing and supports publication of enterprise-wide broadcast messages. The system further preferably employs cooperating inbound and outbound transport processes for consuming, routing, processing, safely storing and publishing messages in batches of logical units of work to ensure that the logical units of work are not lost in system transactions. The system also preferably utilizes a replay server for preserving and replaying messages that might otherwise fail to reach their intended destinations.
-
Citations
17 Claims
-
1. A computerized message routing system comprising:
-
a plurality of disparate messaging subsystems having different transaction management protocols, wherein the disparate messaging subsystems include a publisher to publish messages under general subjects using different transports; a router using a processor to run a consumer process that includes multiple consumer threads, a publisher process that includes multiple publisher threads to publish messages from the router, and an application to execute multiple routing rules on inbound messages received from the publisher, wherein the application determines a set of specific subjects for each of the inbound messages on which outbound messages from the router will be published to consumers in accordance with a subscription based on the specific subjects and the general subjects; and wherein additional consumer threads can be added to the multiple consumer threads based on performance of the router. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for operating a computerized message routing system comprising:
-
receiving, a message associated with a general subject initiated by a publisher; consuming, via one of a plurality of consumer threads running on a processor, the message, wherein the plurality of consumer threads are dynamically adjusted based on performance of a router; determining a set of specific subjects for the message; and publishing the message to a set of consumers in accordance with a subscription based on the specific subjects and the general subject. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium having a set of instructions stored thereon, wherein the set of instructions, when executed by one or more processors, cause the one or more processors to:
-
monitor a measure of thread management overhead at the router and create an additional router when the measure exceeds a threshold; receive, from a publisher, by one of the router or the additional router, a message associated with a general subject; consume, by one of the router or the additional router, via one of a plurality of consumer threads running on the one or more processors, the message from the publisher; determine, by one of the router or the additional router, a set of specific subjects for the message; and publish, by one of the router or the additional router, the message to a set of consumers in accordance with a subscription based on the specific subjects and the general subject. - View Dependent Claims (15, 16, 17)
-
Specification