Publish/subscribe message routing
First Claim
1. An apparatus in a publish/subscribe messaging environment for routing messages received from at least a first publisher to one or more subscribers according to one or more defined paths through a topic tree that defines topics for routing the messages, the apparatus comprising:
- a processor;
a memory coupled with the processor and holding data defining the topic tree;
a first message handler for receiving a message, the message including selection function data defining a selection function, with the handler being adapted to identify and extract the selection function data and store the extracted selection function data in the data defining the topic tree;
a further message handler adapted to create, from the received message, a pseudo-topic tree path comprised of a partial path definition and a representation of the selection function;
a search engine coupled with the memory and adapted to search the data defining the topic tree, according to the selection function, and to return one or more path definition segments resulting from the search;
an inserter coupled with the further message handler and the search engine and adapted to insert each of the one or more returned path definition segments into respective copies of the pseudo-topic tree path, in place of the representation of the selection function, to produce one or more complete path definitions from the partial path definition; and
a matching engine coupled with the inserter and adapted to route messages according to each of the one or more produced complete path definitions.
1 Assignment
0 Petitions
Accused Products
Abstract
Message routing in a publish/subscribe system where messages are routed from one or more publishers to one or more subscribers according to respective defined paths through a topic tree. A pseudo-topic tree path comprised of a partial path definition and a selection function is specified by a subscriber or publisher. When executed, the selection function searches the topic tree to identify one or more path definition segments, which segments replace the selection function in the pseudo-topic tree path to generate one or more complete path definitions that are then usable for routing messages.
16 Citations
15 Claims
-
1. An apparatus in a publish/subscribe messaging environment for routing messages received from at least a first publisher to one or more subscribers according to one or more defined paths through a topic tree that defines topics for routing the messages, the apparatus comprising:
-
a processor; a memory coupled with the processor and holding data defining the topic tree; a first message handler for receiving a message, the message including selection function data defining a selection function, with the handler being adapted to identify and extract the selection function data and store the extracted selection function data in the data defining the topic tree; a further message handler adapted to create, from the received message, a pseudo-topic tree path comprised of a partial path definition and a representation of the selection function; a search engine coupled with the memory and adapted to search the data defining the topic tree, according to the selection function, and to return one or more path definition segments resulting from the search; an inserter coupled with the further message handler and the search engine and adapted to insert each of the one or more returned path definition segments into respective copies of the pseudo-topic tree path, in place of the representation of the selection function, to produce one or more complete path definitions from the partial path definition; and a matching engine coupled with the inserter and adapted to route messages according to each of the one or more produced complete path definitions. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of message routing in a publish/subscribe messaging environment where messages are routed from one or more publishers to one or more subscribers according to respective defined paths through a topic tree that defines topics for routing the messages, comprising:
-
creating a pseudo-topic tree path comprised of a partial path definition and a representation of a selection function, wherein the selection function, when executed, searches the topic tree to identify one or more path definition segments; replacing the representation of the selection function in the pseudo-topic tree path with respective ones of the identified one or more path definition segments to generate one or more complete path definitions; and routing messages according to the one or more generated complete path definitions. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program stored on a non-transitory computer readable medium and loadable into an internal memory of a digital computer, the computer program comprising software code portions which are executable, when the computer program is run on the digital computer, for enabling messages from one or more publishers to be routed to one or more subscribers according to defined paths through a topic tree that defines topics for routing the messages, in a publish/subscribe messaging environment, comprising:
-
creating a pseudo-topic tree path comprised of a partial path definition and a representation of a selection function, wherein the selection function, when executed, searches the topic tree to identify one or more path definition segments; replacing the representation of the selection function in the pseudo-topic tree path with respective ones of the identified one or more path definition segments to generate one or more complete path definitions; and routing messages according to the one or more generated complete path definitions.
-
Specification