IP Library Patent Application 10836847
Patent Application
App. No. 10/836,847

Delivering messages in an enterprise messaging system using message selector hierarchy

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 None
App. No.
10/836,847
Abstract

Methods and apparatuses for delivering enterprise messages in an enterprise computing environment are described herein. In one embodiment, an exemplary process is provided to determine, at a first node hosting a topic published by a producer, one or more groups of subscribers subscribing to the topic based on similarity of the subscribers. For each of messages associated with the topic, the respective message is delivered once to a second node associated with one of the one or more groups of the subscribers, where the second node distributes the respective message to each of the subscribers of the respective group individually without again invoking the first node. Other methods and apparatuses are also described.

Claims (51)

1 . A method for delivering messages of an enterprise messaging system, the method comprising:

determining, at a first node hosting a topic published by a producer, one or more groups of subscribers subscribing to the topic based on similarity of the subscribers; and

for each of messages associated with the topic, delivering the respective message once to a second node associated with one of the one or more groups of the subscribers, wherein the second node distributes the respective message to each of the subscribers of the respective group individually without again invoking the first node.

2 . The method of claim 1 , wherein the one or more groups of the subscriber are subscribing to the topic using the second node via one or more subscription sessions.

3 . The method of claim 1 , wherein the similarity of the subscribers is determined based on one or more message selectors used when subscribing to the topic by the subscribers.

4 . The method of claim 1 , wherein the one or more groups of subscribers include at least two subscribers subscribing to the topic via the second node at different time, and wherein the at least two subscribers receive different messages at a given time.

5 . The method of claim 4 , further comprising:

suspending at least one of the subscribers that receive different messages at a given time, until substantially all of the subscribers receive the same message at relatively the same time; and

delivering the same message to the second node once, wherein the second node distributes the same message to each of the subscribers individually.

6 . A machine-readable medium when executed by a processor, causes the processor to perform a method for processing messages, the method comprising:

determining, at a first node hosting a topic published by a producer, one or more groups of subscribers subscribing to the topic based on similarity of the subscribers; and

for each of messages associated with the topic, delivering the respective message once to a second node associated with one of the one or more groups of the subscribers, wherein the second node distributes the respective message to each of the subscribers of the respective group individually without again invoking the first node.

7 . The machine-readable medium of claim 6 , wherein the one or more groups of the subscriber are subscribing to the topic using the second node via one or more subscription sessions.

8 . The machine-readable medium of claim 6 , wherein the similarity of the subscribers is determined based on one or more message selectors used when subscribing to the topic by the subscribers.

9 . The machine-readable medium of claim 6 , wherein the one or more groups of subscribers include at least two subscribers subscribing to the topic via the second node at different time, and wherein the at least two subscribers receive different messages at a given time.

10 . The machine-readable medium of claim 9 , wherein the method further comprises:

suspending at least one of the subscribers that receive different messages at a given time, until substantially all of the subscribers receive the same message at relatively the same time; and

delivering the same message to the second node once, wherein the second node distributes the same message to each of the subscribers individually.

11 . An enterprise messaging system, comprising:

a processor;

a memory coupled to the processor; and

a process when executed from the memory, causes the processor to

determine one or more groups of subscribers subscribing a topic based on similarity of the subscribers, and

for each of messages associated with the topic, deliver the respective message once to a second node associated with one of the one or more groups of the subscribers, wherein the second node distributes the respective message to each of the subscribers of the respective group individually without again invoking the first node.

12 . A method for delivering messages of an enterprise messaging system, the method comprising:

determining, at a first node hosting a topic published by a producer, whether a first subscriber and a second subscriber subscribe the topic from a second node, the first and second subscribers registering to subscribe the topic at different time;

delaying delivering at least a portion of messages associated with the topic to one of the first and second subscribers until the first and second subscribers are reading an identical message at relatively the same time, if the first and second subscribers subscribe the topic via the second node; and

delivering the identical message from the first node to the second node once only, wherein the second node distributes the identical message to the first and second subscribers individually.

13 . The method of claim 12 , wherein the first and second subscribers are grouped as a group subscribing to the topic based on a similarity of subscriptions of the first and second subscribers.

14 . The method of claim 13 , wherein the first and second subscribers subscribe the topic using a first message selector and a second message selector respectively, wherein the first and second message selectors include at least one common attribute to identify a category of the messages associated with the topic.

15 . A machine-readable medium when executed by a processor, causes the processor to perform a method for processing messages, the method comprising:

determining, at a first node hosting a topic published by a producer, whether a first subscriber and a second subscriber subscribe the topic from a second node, the first and second subscribers registering to subscribe the topic at different time;

delaying delivering at least a portion of messages associated with the topic to one of the first and second subscribers until the first and second subscribers are reading an identical message at relatively the same time, if the first and second subscribers subscribe the topic via the second node; and

delivering the identical message from the first node to the second node once only, wherein the second node distributes the identical message to the first and second subscribers individually.

16 . The machine-readable medium of claim 15 , wherein the first and second subscribers are grouped as a group subscribing to the topic based on a similarity of subscriptions of the first and second subscribers.

17 . The machine-readable medium of claim 16 , wherein the first and second subscribers subscribe the topic using a first message selector and a second message selector respectively, wherein the first and second message selectors include at least one common attribute to identify a category of the messages associated with the topic.

18 . An enterprise messaging system, comprising:

a processor;

a memory coupled to the processor; and

a process when executed from the memory, causes the processor to

determine, at a first node hosting a topic published by a producer, whether a first subscriber and a second subscriber subscribe the topic from a second node, the first and second subscribers registering to subscribe the topic at different time,

delay delivering at least a portion of messages associated with the topic to one of the first and second subscribers until the first and second subscribers are reading an identical message at relatively the same time, if the first and second subscribers subscribe the topic via the second node, and

deliver the identical message from the first node to the second node once only, wherein the second node distributes the identical message to the first and second subscribers individually.

19 . A method for delivering messages of an enterprise messaging system, the method comprising:

receiving, at a first server node, a first subscription subscribing a topic from a first subscriber via a second server node using a first message selector;

receiving, at a first server node, a second subscription subscribing to the topic from a second subscriber via the second server node using a second message selector;

examining the first and second message selectors to determine whether the first and second message selectors include at least one common attribute to identify a category of messages associated with the topic; and

grouping the first and second subscribers as a group if the first and second message selectors include at least one common attribute, wherein a message satisfying the at least common attribute is transmitted from the first server node to the second server node as a message to the group once only, and wherein the message is distributed by the second server node to the first and second subscribers individually.

20 . The method of claim 19 , wherein the first and second subscribers subscribe the topic at different times and receive different messages at a given time, wherein the method further comprises:

suspending at least one of the subscribers associated with the first and second subscribers, until the first and second subscribers receive the same message at relatively the same time; and

delivering the same message to the second server node once, wherein the second server node distributes the same message to the first and second subscribers individually.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2004
From: NIKOLOV, RADOSLAV I.; FOLLMEG, BERND
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 015945/0240 →