Browse Prior Art Database

Intra-Address Space Communications Cross-Memory Protocol

IP.com Disclosure Number: IPCOM000036920D
Original Publication Date: 1989-Nov-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 3 page(s) / 29K

Publishing Venue

IBM

Related People

Ratliff, JM: AUTHOR

Abstract

In the MVS/XA environment, where communication between two or more address spaces is often desirable, it is possible to use a sub-set of the MVS/XA instructions to establish an abbreviated intra-address space communication environment. This environment will maintain address space integrity and also reduce error processing.

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

Page 1 of 3

Intra-Address Space Communications Cross-Memory Protocol

In the MVS/XA environment, where communication between two or more address spaces is often desirable, it is possible to use a sub-set of the MVS/XA instructions to establish an abbreviated intra-address space communication environment. This environment will maintain address space integrity and also reduce error processing.

If it is determined that a program is either too large to expand, is desirable to have additional functions separated from its address space but still be able to perform additional work, or has a need to start additional address spaces and occasionally share data, there is a sub-set of the MVS/XA instructions that will allow this process and reduce the possibility of multiple address space termination (more than one address space) from an abnormal end condition.

The program that is executing in address space 1 must be able to set itself in supervisor state key 0; this will allow the usage of the special system instructions.

To establish the intra-address space protocol necessary for multiple address spaces to communicate, the main program (address space 1) must issue the MVS/XA AXRES instruction to reserve an AX (Authorization Index) value and also issue an MVS/XA AXSET instruction to set its AX to the value just reserved. Address space 1 must establish a means to communicate this value, and any additional information deemed necessary, to any address spaces that it may wish to communicate with. This may be accomplished by creating a common control block that is locatable from within other address spaces. This control block may have additional information such as addresses of work areas or commonly used data and ECBs (event control blocks). After this set-up is performed, address space 1 may then START additional address spaces using the MGCR instruction (start within token) and specify a 31-bit token. This token may be the AX value currently used or the address of a control block or work area. If address space 1 starts the additional address space(s) via the MGCR instruction, this instruction set will return the ASID (address space identification value) of the newly started address space (address space 2).

Address space 2 must use the MVS/XA EXTRACT instruction to obtain the TOKEN that was used by address space 1. It must then issue the ATSET instruction to set its AT (authorization table) value corresponding to address space 1's AX to allow address space 1 to issue SSAR (set secondary address) instructions.

Address space 2 may now communicate to address space 1 by cross- memory posting an ECB that address space 1 will b...