Publish/subscribe data processing with subscription points...

Electrical computers and digital processing systems: multicomput – Distributed data processing – Processing agent

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000, C707S793000

Reexamination Certificate

active

06643682

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to the field of data processing and more specifically to event notification data processing which distributes event messages from suppliers (called, hereinafter, “publishers”) of data messages to consumers (called, hereinafter “subscribers”) of such messages. While there are many different types of known event notification systems, the subsequent discussion will describe the publish/subscribe event notification system as it is one of the most common.
BACKGROUND OF THE INVENTION
Publish/subscribe data processing systems (and event notification systems in general) have become very popular in recent years as a way of distributing data messages (events) from publishing computers to subscribing computers. The increasing popularity of the Internet, which has connected a wide variety of computers all over the world, has helped to make such publish/subscribe systems even more popular. Using the Internet, a World Wide Web browser application (the term “application” or “process” refers to a software program, or portion thereof, running on a computer) can be used in conjunction with the publisher or subscriber in order to graphically display messages. Such systems are especially useful where data supplied by a publisher is constantly changing and a large number of subscribers needs to be quickly updated with the latest data. Perhaps the best example of where this is useful is in the distribution of. stock market data.
In such systems, publisher applications of data messages do not need to know the identity or location of the subscriber applications which will receive the messages. The publishers need only connect to a publish/subscribe distribution agent process, which is included in a group of such processes making up a broker network, and send messages to the distribution agent process, specifying the subject of the message to the distribution agent process. The distribution agent process then distributes the published messages to subscriber applications which have previously indicated to the broker network that they would like to receive data messages on particular subjects. Thus, the subscribers also do not need to know the identity or location of the publishers. The subscribers need only connect to a distribution agent process.
One such publish/subscribe system which is currently in use, and which has been developed by the Transarc Corp. (a wholly owned subsidiary of the assignee of the present patent application, IBM Corp.) is shown in FIG.
1
. Publishers
11
and
12
connect to the publish/subscribe broker network
2
and send published messages to broker network
2
which distributes the messages to subscribers
31
,
32
,
33
,
34
. Publishers
11
and
12
, which are data processing applications which output data messages, connect to broker network
2
using. the well known inter-application data connection protocol known as remote procedure call (or RPC) (other well known protocols, such as asynchronous message queuing protocols, can also be used). Each publisher application could be running on a separate machine, alternatively, a single machine could be running a plurality of publisher applications. The broker network
2
is made up of a plurality of distribution agents (
21
through
27
) which are connected in a hierarchical fashion which will be described below as a “tree structure”. These distribution agents, each of which could be running on a separate machine, are data processing applications which distribute data messages through the broker network
2
from publishers to subscribers. Subscriber applications
31
,
32
,
33
and
34
connect to the broker network
2
via RPC in order to receive published messages.
Publishers
11
and
12
first connect via RPC directly to a root distribution agent
21
which in turn connects via RPC to second level distribution agents
22
and
23
which in turn connect via RPC to third level distribution agents
24
,
25
,
26
and
27
(also known as “leaf distribution agents” since they are the final distribution agents in the tree structure). Each distribution agent could be running on its own machine, or alternatively, groups of distribution agents could be running on the same machine. The leaf distribution agents connect via RPC to subscriber applications
31
through
34
, each of which could be running on its own machine.
In order to allow the broker network
2
to determine which published messages should be sent to which subscribers, publishers provide the root distribution agent
21
with the name of a distribution stream for each published message. A distribution stream (called hereinafter a “stream”) is an ordered sequence of messages having a name (e.g., “stock” for a stream of stock market quotes) to distinguish the stream from other streams (this is known as “topic based” publish/subscribe, another well known model is called “content based publish/subscribe which involves matching publishers and subscribers by the content of the messages rather than by the topic). Likewise, subscribers provide the leaf distribution agents
31
through
34
with the name of the streams to which they would like to subscribe. In this way, the broker network
2
keeps track of which subscribers are interested in which streams so that when publishers publish messages to such streams, the messages can be distributed to the corresponding subscribers. Subscribers are also allowed to provide filter expressions to the broker network in order to limit the messages which will be received on a particular stream (e.g., a subscriber
31
interested in only IBM stock quotes could subscribe to the stream “stock” by making an RPC call to leaf distribution agent
24
and include a filter expression stating that only messages on the “stock” stream relating to IBM stock should be sent to subscriber
31
).
The above-described publish/subscribe architecture provides the advantage of central co-ordination of all published messages, since all publishers must connect to the same distribution agent (the root) in order to publish a message to the broker network. For example, total ordering of published messages throughout the broker network is greatly facilitated, since the root can easily assign sequence numbers to each published message on a stream. However, this architecture also has the disadvantage of publisher inflexibility, since each publisher is constrained to publishing from the single root distribution agent, even when it would be much easier for a publisher to connect to a closer distribution agent.
In the
FIG. 1
, a publisher application
11
, running on one computer, is, for example, a supplier of live stock market data quotes. That is, publisher application
11
provides frequent messages stating the present value of share prices. In this example, publisher application
11
is publishing messages on a stream called “stock” which has already been configured in the broker network
2
. As is well known, when publisher
11
wishes to publish a stock quote message to stream “stock”, publisher
11
makes an RPC call to the root distribution agent
11
which is at the top level of the broker network tree structure. In this example, subscriber application
32
, running on another computer, has sent a subscription request via an RPC call to leaf distribution agent
24
, which is at the bottom level of the tree structure, indicating that subscriber
32
would like to subscribe to stream “stock”.
Thus, whenever publisher
11
publishes a data message to stream “stock” the distribution tree structure of broker network
2
channels the message down through the root distribution agent
21
, through any intermediary distribution agents (e.g.,
22
in the example of
FIG. 1
) and through the leaf distribution agent
24
to the subscriber
32
. This involves a series of RPC calls being made between each successive circle in the diagram of
FIG. 1
connecting publisher
11
and subscriber
32
(i.e.,
11
to
21
,
21
to
22
,
22
to
24
and
24
to
32
).
FIG. 2
shows a different publish/subscribe architec

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Publish/subscribe data processing with subscription points... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Publish/subscribe data processing with subscription points..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Publish/subscribe data processing with subscription points... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3117070

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.