gtpd2m2gData Communications Services Reference

Description

Certain hardcopy terminals in the system are designated as message switching terminals. This means that they may communicate with each other using message switching as a routing vehicle. The format of input and output messages is described in External Input and Output Related to This Package.

Purpose

The purpose of the XBPS package is to provide programs which assemble, queue, transmit and log Message Switching messages (XM0RL). It sends unsolicited/overlength reservation messages to hard copy terminals.

Functions

  1. To keypoint core tables in order to provide the system with the latest status at Restart time.
  2. To assemble low-speed and high-speed message segments into complete messages.
  3. Perform certain editing and validating functions:
    1. Check for excessing repetitive character sequence.
    2. Check for Start of Address (SOA) in first message segment.
    3. Deletion of heading and ending sections on input messages according to ATA/IATA interline message format.
    4. Creation of answerbacks (Date-time and sequence number message indicating input validly received) to message switching terminals.
    5. Validating of addresses in the address section of the message.
    6. Input logging of messages (Customer's option).
  4. Routing of messages to message switching terminal(s) and to the reservations programs as specified in the address section of the message.
  5. Interception (temporary withholding) of traffic to a terminal or line.
  6. Transmission of message switching messages to low-speed and high-speed terminals.
  7. Logging of messages sent to message switching terminals.
  8. Transmission of overlength/unsolicited reservation traffic to hard copy terminals.
  9. Perform clean-up functions necessary in Restart in order for the system to continue transmitting traffic with a minimum of lost messages after system outage.

Component Programs

Programs In This Package

Restart Program

This program is activated after a system RESTART has taken place and the system is being cycled up from 1052 state (see TPF Main Supervisor Reference). Its functions can be divided into two categories: those that affect the main-line programs and those that affect the service programs.

The functions performed for the main-line programs are:

  1. Update output queue (XU2TQ) by scanning thru the (XT0CB) transmission control blocks.
  2. Clear and reset tables in order to be able to start traffic. Tables cleared are XOCT, XTRT and XLAD.
  3. Release file addresses and clear the XN1XN entries which were used for assembly of messages for high speed terminals.
  4. Release file addresses and clear the XV1XV table to allow input to start properly.
  5. Issue CRETC to XLMT in order to provide message assurance of high-speed output.

The functions performed for the service routines are:

  1. Complete any retrieval functions which were interrupted previous to RESTART. This means moving retrieval entries from XH0XH, using the XQ1XQ table, onto the transmission control blocks (XT0CB).
  2. The Purge Table (UV3RP) is checked to see if the Purge Program (XPPP) was in progress when the system went down. If so, the XRPU will be updated to indicate that a hardware error occurred and another tape must be re-created. The tape is then closed, so that the operator can reinitiate the purge process.
  3. The Retrieval Table (UV1RP) is checked to see if the Tape Retrieval Program (XRPP) was in process when system went down. If so, the XRPT will be updated by adding the Process Queue Table (UZ1PQ) onto the front of the Batch Queue Table. The tape will be closed, leaving it up to the operator to restart tape retrieval.

Input Message Assembly Program

This program assembles and checks the format of all incoming communication messages to the Message Switching System. Incoming messages are checked against the format requirements specified in AM0SG, XM0RL and the ATA-IATA Standard Format.

The Physical Line Conversion Table (XP1XP) and the Output Control Table (XW1OC) are used to determine the type of terminal and accumulate statistics on data received by line.

High-speed messages are assembled into 381 bytes blocks using the High Speed Input Status Table (XN1XN). All messages requiring more than one 381 byte block are assembled using the Message Segment Count Table (XE1SC) and the Input Control Table (XV1XV) in order to chain the segments into one complete message. During assembly of the message, XIMA checks for overlength messages, excessive repetition of a character and missing carriage return-line feeds which would cause overprinting at destination terminals.

Heading and/or Communications Control Information (CCI) Sections are deleted from all messages. Messages lacking the required delimiters are sent to the Message Reject Program for transmission to the originator for possible correction.

Completely assembled messages which have been checked are transferred to the Header Analysis Program.

Header Analysis Program (XHAP)

XHAP is entered from:

This program checks the address section of each message by verifying each destination mnemonic up to the end-of-address. Each HA destination in the address section is checked using the mnemonic City Code Index Table (XC1CC) and the Function Code Index Table (XF1FF). Special distribution codes (otherwise known as group codes) are also used as a shorthand method of addressing a particular set of terminals. These are found using the Special Distribution List (XD0LS). Messages with errors in the address section are sent to the Message Reject Program (03-XMRJ) which in turn either transmits them back to the originator for correction or sends them to the Construct Reject Program for transmission to a reject operator.

When all addressees have been found, the message is placed in the appropriate output queues (using the XU2TQ which points to the XT0CB). The Terminal Routing Table (XR1TR) indicates which line or terminal queue should be used while the priority code determines into which of the three priorities the message will be placed.

Just prior to placing the message on the output queue, the receiving terminal is checked to determine if alternate routine is required. This can cause the message to be placed on the alternate terminal's output queue. Messages for a high-speed terminal are intercepted in its output queue.

Answerback messages are sent to half-duplex terminals. This requires the use of the Line Index (XLCI) and Terminal Index (XK1CT) in order to find the originator address. The Input Log Directory (XI0DS) is used to maintain the input message sequence number, data-time received and message file address (for input retrieval purposes) when the input logging option is used in the system. Messages from the reservation programs are not logged on the XILD.

When the first HA destination contains an "XC" function, the message is treated as a service message (e.g. Retrieval Request) and control is transferred to the Service Message Dispatcher Program (XSMD).

When it finds the output queues empty, XHAP enters either the Output Message Assembly and Transmission Program for low-speed message transmission or the Long Message Transmitter Program for high speed message transmission upon adding a message entry into the output queue.

Output Message Assembly and Transmission Program

This (XOMA) program controls the removal of messages from output queues (using the XU2TQ and XT0CB).

XOMA is first initiated when a message is added to an empty queue. The queue number used to access the XTQC table is used to access the Output Control Table (XW1OC). The XOCT Table maintains control of the output transmission of messages.

Once transmission of traffic is started, the Communication Control Programs (CCP) return to XOMA after sending output. This continues until XOMA sends all messages in the output queue for that line.

An output message is logged after complete transmission and time stamped with the output terminal sequence number and data/time of transmission. This program enters Log Output Message Program to perform this function when an end of message is reached.

The output queue is updated after a message has been completely transmitted. Chained Transmission Control Blocks (XTCB) are advanced to the primary XTCB record (fixed file address) whenever the primary XTCB record is exhausted.

Output Log Program

This program is divided into two sections: one which creates a CCI section for Message Switching messages and the second which adds messages onto the output queues.

  1. Create CCI section for messages (segment XOAA)

    This program segment is entered by XOMA, and XLMT to create CCI sections for messages.

    The program creates the Communications Control Information Section (CCI) for each message. It will create a special CCI for retrieval, monitor and possible duplicate messages (PDM) using the second XTCB entry of a message. Normal messages will have their CCI created from the Output Log Directory (XL0DS). The XOLD is updated and stamped with the date/time of transmission. The XOLD entry number (for message sequence number) and the date/time stamp are used to create the CCI.

    The XTCB being used will be rewritten with a bit set equal to one (restart bit XT0IN2-bit 0) to indicate that the message had been sent. This is used by the Restart Program (03-XRST) to reset the output queues to their latest values to avoid sending a message twice but assure that it will be sent.

    Messages destined for terminals on intercept are removed from the queue and transferred to the Intercept Program (XINT).

  2. Add messages to output queues (segment XOBB).

    This segment is used by the following programs:

    Restart Program
    To add messages to output queues when correcting unfinished retrieval queues.

    Output Log Program
    To add messages onto the output monitoring queues.

    Message Reject
    To add messages onto the output queues to be sent back to the originator.

    It is also used by application programs XRET, XRPD, and XSRP to add other message types to queues.

Relationship To The Long Message Transmission Program

When originally developed XLMT was conceived as part of the message switching function. However, it is now an essential component of the Communication Control Program's management of hard copy terminals. The XLMT program queues output messages on file and segments them for transmission to hard copy terminals whose addresses are referenced by LN/IA/TA - High Speed Line Number, Interchange Address, Terminal Set Address. The following types of messages are transmitted by XLMT via the SLMTC macro:

  1. Unsolicited output messages.
  2. Overlength solicited output messages, i.e. those requiring segmentation prior to transmission.
  3. Output message switching traffic to 1977 terminals.
  4. Output traffic to the 1052 or 3215 Operator's Console, the 1980- 21/24 and 3284/3286 Printer Terminals, and the 2980-9 Printer/Keyboard Terminals.

The necessity for XLMT program stems from the diversity and large number of Operational Programs and the impracticality of having each control its own output since transmission to 1980, 3284/3286 1977 terminals initiates Answerback Messages to the processor verifying successful transmission. Messages to 1977 terminals are transmitted in 100- character segments. Messages to 1980, 3284/3286 remote terminals are transmitted in up to 340-character segments (maximum transmission length is dependent upon terminal buffer capacity). Messages to 3284/3286 local terminals are transmitted in one long send.

There are extensive interfaces between the message switching function and XLMT.