IP Library Granted Patent US 9,100,202
Granted Patent B2
US 9,100,202 · App. 12/949,237 · Granted Aug 4, 2015

Message routing based on modeled semantic relationships

Inventors: Qiang Han (DB Ashtown, IE); Sean O'Sullivan (DB Kimmage, IE)
Assignee: Business Objects Software Limited
H04L12/1859G06F9/546H04L51/14
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,100,202
App. No.
12/949,237
Granted
Aug 4, 2015
Kind
B2
Abstract

A system to determine a hierarchical model comprising two or more associated nodes, each of the nodes associated with one or more message producers and one or more message consumers, receive a message from one of the one or more message producers; and route the message to one or more of the one or more message consumers based on the hierarchical model. The hierarchical model may include a root node and a plurality of nodes descending from the root node, the plurality of nodes including the two or more associated nodes, wherein each of the plurality of nodes is associated with a topic, a parent node, one or more child nodes, one or more message producers, and one or more message consumers. Routing the message may comprise traversing two or more nodes of the hierarchical model based on first logic.

Claims (72)

1. A system comprising:

a device comprising:

a memory system storing processor-executable program code; and

a processor to execute the processor-executable program code in order to cause the device to:

determine a hierarchical relationship model defining at least one of a logical relationship and semantic relationship between at least one message producer and at least one message consumer, the hierarchical relationship model including two or more nodes, each of the nodes being specified as at least one message producer and at least one message consumer, as defined by the hierarchical relationship model, the hierarchical relationship model being an instance of data structure that comprises a root node and a plurality of nodes descending from the root node, where each of the plurality of nodes descending from the root node is defined by the hierarchical relationship model to be associated with a topic, a parent node, one or more child nodes, one or more of the at least one message producer, and one or more of the at least one message consumer; and

a model-consuming dispatcher device comprising:

a memory system storing processor-executable program code; and

a processor to execute the processor-executable program code in order to cause the model-consuming dispatcher device to:

receive a message from one of the at least one message producer; and

route the message to one or more of the at least one message consumer based on the hierarchical model by logically traversing two or more nodes of the hierarchical relationship model by determining the topic associated with the message and identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic and specified by the hierarchical relationship model as being a message consumer, the hierarchical relationship model being distinct from the message.

2. A system according to claim 1 , wherein traversing the two or more nodes of the hierarchical relationship model comprises:

identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic;

determining a first one or more of the at least one message consumer that are defined by the hierarchical relationship model to be associated with the first node;

identifying a second one or more nodes descendant from the first node in the hierarchical relationship model; and

determining a second one or more of the at least one message consumer, each of which are defined by the hierarchical relationship model to be associated with at least one of the second one or more nodes descending from the first node in the hierarchical relationship model,

wherein routing the message comprises routing the message to the first one or more of the at least one message consumer and to the second one or more of the at least one message consumer.

3. A system according to claim 1 , wherein traversing the two or more nodes of the hierarchical relationship model comprises:

identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic;

determining a first one or more of the at least one message consumer that are defined by the hierarchical relationship model to be associated with the first node;

identifying a second one or more nodes descendant from the first node in the hierarchical relationship model;

associating the second one or more nodes descendant from the first node in the hierarchical relationship model with itself alone as the at least one message producer associated therewith; and

determining a second one or more of the at least one message consumer, each of which are defined by the hierarchical relationship model to be associated with at least one of the second one or more nodes descendant from the first node in the hierarchical relationship model;

wherein routing the message comprises routing the message to the first one or more of the at least one message consumer and to the second one or more of the at least one message consumer.

4. A system according to claim 1 , the processor further to execute the processor-executable program code in order to cause the device to:

receive a second message from a second one of the one or more of the at least one message producer;

traverse the hierarchical relationship model based on the first logic to determine a second one or more of the at least one message consumer; and

route the second message to the second one or more of the at least one message consumer.

5. A non-transitory medium storing processor-executable program code, the program code executable by a device to:

determine a hierarchical relationship model defining at least one of a logical relationship and semantic relationship between at least one message producer and at least one message consumer, the hierarchical relationship model including two or more nodes, each of the nodes being specified as at least one message producer and at least one message consumer, as defined by the hierarchical relationship model, the hierarchical model being an instance of data structure that comprises a root node and a plurality of nodes descending from the root node, where each of the plurality of nodes descending from the root node is defined by the hierarchical relationship model to be associated with a topic, a parent node, one or more child nodes, one or more of the at least one message producer, and one or more of the at least one message consumer; and

the program code executable by a model-consuming device to:

receive a message from one of the at least one message producer; and

route the message to one or more of the at least one message consumer based on the hierarchical model by logically traversing two or more nodes of the hierarchical relationship model by determining the topic associated with the message and identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic and specified by the hierarchical relationship model as being a message consumer, the hierarchical relationship model being distinct from the message.

6. A medium according to claim 5 , wherein traversing the two or more nodes of the hierarchical relationship model comprises:

identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic;

determining a first one or more of the at least one message consumer that are defined by the hierarchical relationship model to be associated with the first node;

identifying a second one or more nodes descendant from the first node in the hierarchical relationship model; and

determining a second one or more of the at least one message consumer, each of which are defined by the hierarchical relationship model to be associated with at least one of the second one or more nodes descending from the first node in the hierarchical relationship model,

wherein routing the message comprises routing the message to the first one or more of the at least one message consumer and to the second one or more of the at least one message consumer.

7. A medium according to claim 5 , wherein traversing the two or more nodes of the hierarchical relationship model comprises:

identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic;

determining a first one or more of the at least one message consumer associated with the first node;

identifying a second one or more nodes descendant from the first node in the hierarchical relationship model;

associating the second one or more nodes descendant from the first node in the hierarchical relationship model with itself alone as the at least one message producer associated therewith; and

determining a second one or more of the at least one message consumer, each of which is defined by the hierarchical relationship model to be-associated with at least one of the second one or more nodes descendant from the first node in the hierarchical relationship model,

wherein routing the message comprises routing the message to the first one or more of the at least one message consumer and to the second one or more of the at least one message consumer,

8. A medium according to claim 5 , the program code further executable by the device to:

receive a second message from a second one of the at least one message producer;

traverse the hierarchical relationship model based on the first logic to determine a second one or more of the at least one message consumer; and

route the second message to the second one or more of the of the least one message consumers.

9. A method implemented by a computing system in response to execution of program code by a processor of the computing system, comprising:

determining a hierarchical relationship model defining at least one of a logical relationship and semantic relationship between at least one message producer and at least one message consumer, the hierarchical relationship model including two or more nodes, each of the nodes being specified as at least one message producer and at least one message consumer, as defined by the hierarchical relationship model, the hierarchical relationship model being an instance of data structure that comprises a root node and a plurality of nodes descending from the root node, where each of the plurality of nodes descending from the root node is defined by the hierarchical relationship model to be associated with a topic, a parent node, one or more child nodes, one or more of the at least one message producer, and one or more of the at least one message consumer;

receiving, by a model-consuming dispatcher device, a message from one of the at least one message producer; and

routing, by the model-consuming dispatcher device, the message to one or more of the at least one message consumer based on the hierarchical model by logically traversing two or more nodes of the hierarchical relationship model by determining the topic associated with the message and identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic and specified by the hierarchical relationship model as being a message consumer, the hierarchical model being distinct from the message.

10. A method according to claim 9 , wherein traversing the two or more nodes of the hierarchical relationship model comprises:

determining a the topic associated with the message;

identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic;

determining a first one or more of the at least one message consumer that are defined by the hierarchical relationship model to be associated with the first node;

identifying a second one or more nodes descendant from the first node in the hierarchical relationship model; and

determining a second one or more of the at least one message consumer, each of which are defined by the hierarchical relationship model to be associated with at least one of the second one or more nodes descending from the first node in the hierarchical relationship model ,

wherein routing the message comprises routing the message to the first one or more of the at least one message consumer and to the second one or more of the at least one message consumer.

11. A method according to claim 9 , wherein traversing the two or more nodes of the hierarchical relationship model comprises:

determining the topic associated with the message;

identifying a first node of the plurality of nodes descending from the first node in the hierarchical relationship model that is associated with the topic;

determining a first one or more of the at least one message consumer that are defined by the hierarchical relationship model to be associated with the first node;

identifying a second one or more nodes descendant from the first node in the hierarchical relationship model;

associating the second one or more nodes descendant from the first node in the hierarchical relationship model with itself alone as the at least one message producer associated therewith; and

determining a second one or more of the at least one message consumer, each of which are defined by the hierarchical relationship model to be associated with at least one of the second one or more nodes descendant from the first node in the hierarchical relationship model;

wherein routing the message comprises routing the message to the first one or more of the at least one message consumer and to the second one or more of the at least one message consumer.

12. A method according to claim 9 , further comprising:

receive a second message from a second one of the one or more of the at least one message producer;

traverse the hierarchical relationship model based on the first logic to determine a second one or more of the at least one message consumer; and

route the second message to the second one or more of the at least one message consumer.

Assignments (2)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2010
From: HAN, QIANG; O'SULLIVAN, SEAN
To: BUSINESS OBJECTS SOFTWARE LIMITED
Reel/Frame 025374/0974 →
Continuity (1)
Related Publication 20120131597A1 · May 24, 2012