gtpd2m2g | Data Communications Services Reference |
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.
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.
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:
The functions performed for the service routines are:
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.
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.
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.
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.
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).
This segment is used by the following programs:
It is also used by application programs XRET, XRPD, and XSRP to add other message types to queues.
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:
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.