Browse Prior Art Database

MQSeries for OS/390 Triggering and Get Wait Support Using Coupling Facility List Structures

IP.com Disclosure Number: IPCOM000014384D
Original Publication Date: 2001-Jan-01
Included in the Prior Art Database: 2003-Jun-19
Document File: 6 page(s) / 63K

Publishing Venue

IBM

Abstract

General overview of shared queues

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

Page 1 of 6

  MQSeries for OS/390 Triggering and Get Wait Support Using Coupling Facility List Structures

General overview of shared queues

MQSeries for OS/390 Version 5.2 introduces support for shared queues, and provides the ability to configure a group of Queue Managers that need to access the same set of shared queues in a Queue Sharing Group (QSG).

    A shared queue is a type of local queue that has defined attributes which indicate that the queue definition is shared and messages on the queue are shared. More than one Queue Manager in a QSG can place messages on a shared queue. Similarly, any messages residing on a shared queue can be directly accessed by more than one Queue Manager. This means that within a QSG you can put a message to a shared queue via one Queue Manager and get the same message from the shared queue via a second Queue Manager. This provides a rapid mechanism for communication between Queue Managers within a QSG.

    The messages on a shared queue are stored in the OS/390 Coupling Facility (CF) in MQSeries related CF List Structures. Each shared queue maps to a List Header within a list structure and each message that resides on a shared queue maps to a list entry on the shared queue List Header.

    The following diagram shows four Queue Managers and a CF forming a QSG. The four Queue Managers can directly access the shared queue that resides in the CF. This gives very high availability of the messages on a shared queue as the messages are not associated with the availability of a single Queue Manager.

Queue Sharing Group

Queue Manager QM1

Queue Manager QM2

Coupling Facility

Queue Manager QM3

Queue Manager QM4

    A QSG consists of up to 64 CF List Structures and each List Structure is dedicated to a specific QSG. However, a CF may hold List Structures for more than one QSG. Though, Queue Managers that are members of different QSGs cannot share their queues or message data. Any messages that are placed on a shared queue via MQPUT operations, are held in the List Structure until they are retrieved via a

1

[This page contains 1 picture or other non-text object]

Page 2 of 6

destructive MQGET operation.

    The following diagram shows Queue Managers QM1 and QM4 that are members of a QSG, a Putting Application that is connected to Queue Manager QM1, a shared queue that resides in a CF, and a Getting Application that is connected to Queue Manager QM4. The Putting Application puts messages to the shared queue while the Getting Application retrieves messages from the shared queue.

    In the above scenario the Getting Application retrieves messages that are created by the Putting Application. MQSeries semantics are available to allow the Getting Application to be notified of the arrival of messages on the shared queue. Hence, the Getting Application need only execute when there are messages available to be processed. If this was not the case, the Getting Application would have to periodically issue MQGET operations against the shared queue to establ...