System and method for message processing and routing
First Claim
1. A computerized message routing system comprising:
- a computer processor;
a publisher capable of publishing messages each associated with at least one of a plurality of different message topics;
a router configured to;
run a different thread for each of the plurality of different message topics when executed by the computer processor, andinvoke an introspection module based on the plurality of different message topics to determine a destination for the messages;
wherein each of the different threads uses an inbound transport protocol and an outbound transport protocol and the router is communicably coupled to the publisher to consume and publish the messages including transforming the messages into different outbound transport protocols based on transformation requests; and
a consumer communicably coupled to the router and configured to receive a subset of the messages published by the router that are associated with one or more of the plurality of different message topics, wherein the consumer publishes a set of transformation procedures to the router in the transformation requests.
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.
40 Citations
18 Claims
-
1. A computerized message routing system comprising:
-
a computer processor; a publisher capable of publishing messages each associated with at least one of a plurality of different message topics; a router configured to; run a different thread for each of the plurality of different message topics when executed by the computer processor, and invoke an introspection module based on the plurality of different message topics to determine a destination for the messages; wherein each of the different threads uses an inbound transport protocol and an outbound transport protocol and the router is communicably coupled to the publisher to consume and publish the messages including transforming the messages into different outbound transport protocols based on transformation requests; and a consumer communicably coupled to the router and configured to receive a subset of the messages published by the router that are associated with one or more of the plurality of different message topics, wherein the consumer publishes a set of transformation procedures to the router in the transformation requests. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for operating a router, the method comprising:
-
consuming a message received from a publisher, wherein consuming the message includes determining a destination for the message by invoking an introspection module based on a message topic; receiving, from the destination, a set of transformation procedures; transforming, using a processor, the message in accordance with the set of transformation procedures received from the destination; and publishing the message to the destination. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A router comprising:
-
a processor; a memory having executable instructions, wherein the memory is communicably coupled to the processor and configured to execute the instructions stored on the memory to; run multiple threads to consume messages from publishers; split the messages among the multiple threads based on message topics to optimize the number of threads being utilized; invoke an introspection module based on at least one of the message topics to determine a destination subscriber for the messages based on the message topics; receive, from the destination subscriber, a set of transformation procedures; transform, using the processor, the message in accordance with the set of transformation procedures received from the destination subscriber; and publish the message to the destination subscriber. - View Dependent Claims (16, 17, 18)
-
Specification