Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method and System for Balancing Workload for Routing Messages in a Messaging Middleware Environment

IP.com Disclosure Number: IPCOM000193344D
Original Publication Date: 2010-Feb-19
Included in the Prior Art Database: 2010-Feb-19
Document File: 4 page(s) / 125K

Publishing Venue

IBM

Abstract

A method and system for balancing workload for routing messages in a messaging middleware environment is disclosed. A queue manager is determined for routing a message based on a current queue depth of a destination queue and total message size of the destination queue at the time of routing messages.

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 34% of the total text.

Page 1 of 4

Method and System for Balancing Workload for Routing Messages in a Messaging Middleware Environment

Disclosed is a method and system for balancing workload for routing messages in a messaging middleware environment is disclosed.

A cluster in a messaging middleware environment is a group of queue managers logically grouped together and sharing information about each other. The queue managers host and manage message queues and advertise queues to each other in the cluster. In order to route a message in a cluster, a suitable destination queue is selected based on the availability of the queue manager and cluster attributes associated with queues and channels of the queue manager.

Every cluster has at least one queue manager for holding information about queue managers, queues, and channels in the cluster. Such information is normally maintained in a full repository. The full repository also includes requests from the other queue managers in the cluster for updates to the information. The other queue managers store information about the subset of queues and queue managers with which they need to communicate in a partial repository. The queue managers populate the partial repositories by making inquiries to other queue managers when they first access the other queue managers. Thereafter, the queue managers are notified of any new information concerning other queues or queue managers.

The method and system disclosed balances workload for routing messages in a messaging middleware environment. In order to balance the workload, a queue current depth (QCURDEPTH) of a destination queue and queue size of the destination queue is considered at the time of routing messages. The QCURDEPTH of the destination queue represents the total number of messages stored in a queue at any given instance. Information about the QCURDEPTH is stored in the full repository.

A queue with a high QCURDEPTH may indicate that the queue is receiving messages at a rate which is faster than the rate at which an application is processing the messages. A high QCURDEPTH may also indicate that the messages from the queue are currently not being

processed by the application.

In a scenario, two parameters such as. a Queue Depth High Threshold (QDHT) and a Queue Depth Low Threshold (QDLT) corresponding to the QCURDEPTH are defined at the destination queue. The QDHT indicates that an application has put large number of messages on to the queue and has reached high threshold mark. The QDLT indicates that QCURDEPTH has reduced due to messages being processed by an application. Once the destination queue is enabled for workload balancing, the full repository also maintains a table that includes a Queue Depth High (QDH) and a Queue Depth Low (QDL) flag to indicate the availability of the destination queue as illustrated in Fig. 1.

1

Page 2 of 4

Figure 1

When QCURDEPTH of the destination queue reaches QDHT, the queue manager triggers a QDH event to the full repository stating that...