Fast Path expedited message handler

This topic briefly describes the Fast Path expedited message handler (EMH) and how it processes Fast Path messages.

Fast Path message scheduling

Fast Path schedules input messages by associating them with a load balancing group.

Definition: A load balancing group is a group of Fast Path input messages that are ready for balanced processing by one or more copies of a Fast Path program. One load balancing group exists for each unique Fast Path message-driven application program.

The messages for each load balancing group are processed by the same Fast Path program. The EMH controls Fast Path messages by:
  • Managing the complete execution of a message on a first-in-first-out basis
  • Retaining the messages that are received in the control program's storage without using auxiliary storage or I/O operations
  • Supporting multiple copies of programs for parallel scheduling
  • Requiring that programs operate in a wait-for-input mode

Routing codes and balancing groups

IMS places input messages on message queues by using the transaction code, and attempts to process one queue until that queue is exhausted, within limits specified by system definition. Message processing is grouped for load balancing and synchronized for database integrity and recovery.

Definitions:
  • A message queue is a data set on which messages are placed before being either processed by an application program or sent to a terminal.
  • A transaction code is a one- to eight-character alphanumeric code that invokes an IMS message processing program.
  • A routing code is a user-defined code that the EMH uses to enable transactions to be routed to programs within a load balancing group. A message is assigned to a balancing group by a routing code. The routing code can be the same as the transaction code, or it can be any other name you choose.

Incoming messages have preassigned routing codes, or a routing code can be dynamically set for the input message. You declare routing codes during system definition, and they are then associated with individual application programs.

Fast Path input edit/routing exit routine (DBFHAGU0)

All Fast Path-exclusive or Fast Path-potential messages are sent to the Fast Path Input Edit/Routing exit routine so that the application program can examine, change, or edit the input message in the input area.

Message buffering with a Fast Path-capable system

IMS buffer management uses a single EMH buffer when the input message has all of the following characteristics:
  • Source terminal is VTAM®
  • Terminal is not enabled for front-end switch (FES)
  • Input is single segment
  • Input is non-MFS edited
  • Input is not an IMS command
  • Execution of at least one transaction is through Fast Path

An expedited message handler (EMH) buffer is dynamically allocated to the terminal when IMS receives the first message that has all of the characteristics listed. The EMH buffer remains allocated to the terminal for use with subsequent input messages (that have the same characteristics) until the user signs off, or until the session terminates. The buffer is then released to the EMH pool.

Fast Path EMH and shared queues

In a shared-queues environment that includes Fast Path, you have the option of sharing Fast Path EMH messages using an EMH queue (EMHQ). The EMHQ distributes the processing of EMH messages among multiple IMS systems.

If you do not intend to share EMH messages, you can delete the EMHQ statement from the DFSSQxxx PROCLIB member to prevent IMS from allocating the EMHQ structures and data sets.

Criteria for Fast Path application programs using EMH

Application programs that use EMH must conform to all of the following criteria:
  • Each transaction must be initiated by a single-segment, response-type message.
  • Each input message must require only a single-segment response message or no response.
  • The input and output message length cannot exceed the EMH buffer size.
  • ETO and LU 6.2 users cannot access main storage databases (MSDBs) with terminal-related keys.
  • No IMS conversational processing is performed.
  • Fast Path programs cannot act as automated operator programs or issue IMS commands.
  • Fast Path transactions cannot be sent over any of the four types of multiple system coupling (MSC) physical links for processing in another IMS.