Browse Prior Art Database

Improving the applicability of publish/subscribe to data which is not naturally hierarchically organised

IP.com Disclosure Number: IPCOM000195060D
Publication Date: 2010-Apr-20
Document File: 2 page(s) / 41K

Publishing Venue

The IP.com Prior Art Database

Abstract

Publish/subscribe messaging is useful because it provides an any:any connectivity architecture. A current limitation is that the topics on which the messages are published and from which subscribers receive them must be arranged hierarchically, from least specific to most specific. There is a lot of data which does not fit into that hierarchical model, or that is not most effectively described in a hierarchical way. For instance on my desk I have a pile of post-it notes which are both sticky and pink. If I wish to publish a message about them it is not clear that their pinkness is more important than their stickiness: the qualities are orthogonal and do not naturally form a hierarchy. A more business-oriented example is if we are publishing press-releases. If two or more companies issue a joint statement, how do we decide on which topic to publish that statement? In practice at the moment application logic would probably be used to publish the message multiple times, once for each company. This works, but means that anyone who was subscribed to the topics of more than one of the companies involved has to deal with receiving multiple messages. A second workaround for this problem which can currently be used is to publish messages about many different things on the same topic and use selectors on message properties on those messages to narrow things down appropriately. This puts the work in the right place (in the messaging system) but is extremely slow.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 2

Improving the applicability of publish/subscribe to data which is not naturally hierarchically organised

Publish/subscribe messaging is useful because it provides an any:any connectivity architecture. A current limitation is that the topics on which the messages are published and from which subscribers receive them must be arranged hierarchically, from least specific to most specific.

    There is a lot of data which does not fit into that hierarchical model, or that is not most effectively described in a hierarchical way.

     For example, if a press-release is published and if two or more companies issue a joint statement, how do they decide on which topic to publish that statement? In practice, at the moment, application logic would probably be used to publish the message multiple times, once for each company. This works, but means that anyone who was subscribed to the topics of more than one of the companies involved has to deal with receiving multiple messages.

    A second workaround for this problem which can currently be used is to publish messages about many different things on the same topic and use selectors on message properties on those messages to narrow things down appropriately. This puts the work in the right place (in the messaging system) but is extremely slow.

    Proposed is a different model for topics and a correspondingly different match-space. In this model, a topic is a set of labels which apply to the data. A subscriber receives a message if all of the labels in the subscriber's set are present in the set of labels on the published message. Either set may be empty: an empty subscriber set means that the subscriber receives all messages; an empty publication set means that the message is only received by subscribers with empty subscriber sets.

    The most time-critical algorithm in the system is the one which, at publication time, determines which subscribers will receive each message. The rest of the system is structured a...