Browse Prior Art Database

Apparatus for sending a sequence of asynchronous messages through the same channel in a messaging middleware cluster.

IP.com Disclosure Number: IPCOM000129260D
Original Publication Date: 2005-Oct-04
Included in the Prior Art Database: 2005-Oct-04
Document File: 6 page(s) / 38K

Publishing Venue

IBM

Abstract

Discloses a system for sending a sequence of asynchronous messages through the same channel in a messaging middleware cluster.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 6

Apparatus for sending a sequence of asynchronous messages through the same channel in a messaging middleware cluster .

Discloses a system for sending a sequence of asynchronous messages through the same channel in a messaging middleware cluster.

1

Page 2 of 6

Cosuming Application

M essage 1

Logical Group of related Messages meant to be processed together

M essage 3

Message 2

Message Middleware Cluster

Message Middleware

Queue Router

Message 3

Message 2

Message Middleware

Queue

Message Middleware

Queue

Message 1

Cosuming Application Cosuming Application

2

[This page contains 4 pictures or other non-text objects]

Page 3 of 6

Cosuming Application Cosuming Application

For messages that need to be treated as a group, the message middleware clustering facility needs to be smart enough to route related messages through the same channel. This way, applications with sequencing needs can still send a group of related messages through a cluster and have them be sent through the same channel.

In order for the message middleware clustering to be smart enough to route messages down a single channel, each message that is part of the same group must have some information regarding the logical grouping of the message:

* A group identifier
* A flag whether to invoke message sequence routing rules.
* The total number of messages in the group
* The particular sequence of the message relative to the group.

A message is usually made up of 2 pieces: a header and the payload. The header contains information about the messages and possibly some other specific meta-data about the consumer or producer. The information specified above can be stored in the message header. Messaging middleware usually is able to read header information and use it to perform some function. In our case the message middleware will then read this header information and use it to formulate rules about routing. When the first message arrives that is part of a logical grouping, the message middleware routing facility will do the following.

1. Read the header and find out that this is a group message and wants to follow sequence routing rules.
2. Next, it will find the group-identifier and find out that it does not have this group identifier.
3. It chooses the channel through which to route the message.
4. It records the group identifier, the channel, the total number of messages, and the sequence of the particular piece as an entry in a routing table.
5. It sends the message to the selected channel.

The sequence diagram shows depicts the flow above:

3

[This page contains 2 pictures or other non-text objects]

Page 4 of 6

Message

Routing Table

MessageHeader

MessageClusterRouter : Actor1

1 : \r...