Installing the IBI Subsystem

In this section:

The IBI Subsystem provides communication between and coordination among address spaces running Information Builders products on z/OS systems. The IBI Subsystem is also referred to as the subsystem in this document.

Products that Require the IBI Subsystem

The following Information Builders products use the IBI Subsystem:

IBI Subsystem Technical Overview

The IBI Subsystem runs in the address space of the IBI product using its services. All subsystem modules are re-entrant and pageable, and reside in the Extended Common Storage Area (ECSA). Control blocks created by the subsystem also reside in the ECSA and are also pageable.

The subsystem uses 20K of ECSA for programs and control blocks, most of which is taken up by programs.

The subsystem is loaded and initialized by the SUBSYSI utility, which must be run from an APF-authorized library. SUBSYSI can also be used to stop, replace, and/or unload the subsystem modules.

When used for communications between address spaces, the subsystem can only use cross-memory services when the server address space (SU sink machine) is defined as non-swappable. If cross-memory services cannot be used, then an 8K mailbox is allocated in ECSA for each communication path used by the server. SU address spaces use one mailbox.

The subsystem code is run whenever any of the following events occur:

Note: Communication Data Sets FOCSU and FOCUSSU: Communication data sets FOCSU and FOCUSSU are used with the IBI Subsystem. Since the data sets are never actually updated, it may be necessary to take action to prevent HSM or similar products from migrating them offline.

IBI Subsystem Installation Requirements

IBI Subsystem installation requirements:

IBI Subsystem Features and Functionality

The IBI subsystem provides the following features:

IBI Subsystem Troubleshooting and Maintenance

With the IBI Subsystem:

IBI Subsystem Installation Planning

This section discusses the impact of installing the IBI Subsystem on your z/OS system. Please read this and the following section, before starting the installation procedure.

When installing FOCUS on z/OS, you may optionally update IEFSSNxx in SYS1.PARMLIB.

Sample:

JES2   PRIMARY         JOB ENTRY SUBSYSTEM
RACF,IRRSSI00,#        RESOURCE ACCESS CONTROL FACILITY
CICS                   CUSTOMER INFORMATION CONTROL SYSTEM
IBIS                   IBI SUBSYSTEM

Even though you update IEFSSNxx with the subsystem name, you must still run the SUBSYSI utility with the START option to load and activate the IBI Subsystem. You can use a name in IEFSSNxx if it is currently unused. The sample job SUBSYSNM, in FOCCTL.DATA, demonstrates replacing the default subsystem name with your own.

The SUBSYSI utility requires an APF-authorized library. This may be an existing library, a LNKLST member, or a new library created just for SUBSYSI. Whichever option you choose, you may wish to protect SUBSYSI to permit only authorized personnel to run it.

IBI Subsystem Capacity and Performance

With the IBI Subsystem:

IBI Subsystem Training

Appropriate operations and system support staff should be trained in the use of the SUBSYSI utility for starting and controlling the subsystem, and in the operator commands that the subsystem provides, DISPLAY and SET. It may also be necessary to update your system IPL procedures to ensure the subsystem is properly started after z/OS is initialized.

IBI Subsystem Installation Steps

Perform these steps to install the IBI Subsystem. This procedure assumes that FOCUS is already installed and tested and that the data sets FOCLIB.LOAD and FOCCTL.DATA are loaded on your system.

All of the samples discussed herein are shipped in FOCCTL.DATA and are also reproduced for quick reference in Subsystem Sample JCL and Zaps.

  1. Choose a subsystem name.

    Choose a valid 4-character name for the subsystem. The default name is IBIS.

  2. Choose an APF-authorized library.

    SUBSYSI must be run from an APF-authorized library. You may copy SUBSYSI to a library in the LNKLST or to an existing authorized library, or you may create a new library for this purpose. As SUBSYSI should only be run by authorized personnel, we recommend placing it in a secure library protected from unauthorized access. (Note that while FOCLIB.LOAD is APF-authorized when the zIIP feature is installed, all FOCUS users have access to it in order to run FOCUS.)

  3. Update SYS1.PARMLIB (optional).

    Update IEFSSNxx member of SYS1.PARMLIB with the name of the subsystem.

    If creating a new APF-authorized library, or adding non-swappable programs (HLISNK for SU), update SYS1.PARMLIB as needed to specify these changes.

  4. Zap to change subsystem name (optional).

    If you select a name other than IBIS for the IBI Subsystem, edit the JCL in SUBSYSNM with the appropriate name and run it to apply the zap.

    If a maintenance job (Service Pack) updates the IBI subsystem modules, and if those modules were moved to a separate subsystem library using the FOCCTL.DATA.SUBSYSCP job, then they must be copied back into FOCLIB.LOAD for the maintenance job execution. On completion of the maintenance, the subsystem modules may be moved back into your subsystem library with the SUBSYSCP job.

    You can use the ODIN communication file to point sink machines and clients to subsystems with non-default names, as described in Optionally, Create the ODIN Communication File.

  5. Copy modules to an APF-authorized library and protect the library.

    The JCL in SUBSYSCP will copy SUBSYSI and related modules from FOCLIB.LOAD into an APF-authorized library. This library can be a library dedicated to SUBSYSI, a member of the LNKLST, or any other library you choose. Since SUBSYSI is only for use by authorized personnel, ensure that the library is protected from unauthorized access.

  6. Protect modules or delete them from FOCLIB.LOAD.

    SUBSYSI and all other copied modules should be deleted from FOCLIB.LOAD or protected from unauthorized use.

  7. Set up automatic start of the subsystem (optional).

    If desired, set up JCL to run SUBSYSI and initialize the IBI Subsystem at system startup. Sample JCL to run SUBSYSI is found in members SUBSYSIJ and SUBSYSIH of FOCCTL.DATA.

  8. Set up a SUBSYSI cataloged procedure (optional).

    If desired, set up a cataloged procedure so SUBSYSI can be run as a started task. A sample procedure is delivered as member SUBSYSP in FOCCTL.DATA.

  9. IPL the system (optional).

    IPL the system to activate changes to SYS1.PARMLIB. If an authorized library was already available, no IPL is necessary in order to use the basic subsystem, although certain facilities, such as non-swappable servers, will not be available until you IPL the system.

    If you are upgrading the subsystem but retaining its former name, you may have to perform an IPL. Please check the latest Tech Bulletins and our web site (http://techsupport.informationbuilders.com/) for the latest information.

  10. Start the IBI Subsystem.

    Bring up the subsystem by running SUBSYSI with the START parameter. It is now ready to use.

    The SUBSYSI program requires the allocation of a STEPLIB DD statement when performing the START function. If the load library used (FOCLIB.LOAD) is defined in the link list, it will still require APF authorization (IEAAPF00) so that it may be executed from STEPLIB with the proper APF authorization.

    If SUBSYSI START is executed without a STEPLIB statement, the following message will occur:

    SUBSYS003 UNABLE TO LOAD MODULES TO CSA.

    To remedy this situation, simply allocate the load library to STEPLIB.

IBI Subsystem Product-related Installation Issues

IBI Subsystem Maintenance Issues

Using the IBI Subsystem

In this section:

To use the IBI Subsystem, you must be familiar with the SUBSYSI program, the operator controls, the display commands, and the SET commands.

The SUBSYSI Program

The SUBSYSI program is used to control the IBI Subsystem. Its basic function is to initialize the subsystem and it can also be used to stop, unload, and replace the subsystem modules in storage.

SUBSYSI can be run as a batch job or as a started task. JCL samples are provided in members SUBSYSIJ and SUBSYSP, respectively, of FOCCTL.DATA.

Do not use SUBSYSI to STOP or REMOVE the subsystem while any IBI server address spaces are running. All servers must be stopped before you stop the subsystem. HiperFOCUS users may continue to run.

Valid SUBSYSI parameters are:

  • START: Initializes the subsystem load modules into CSA. If the modules are already loaded but the subsystem is not active (STOP issued), RESTART is assumed and executed.
  • STOP: Logically disables the subsystem without removing the modules from CSA. Do not do this while any IBI servers are running.
  • RESTART: Restarts the subsystem following the STOP command. The modules already exist in CSA (that is, START has already been run).
  • REPLACE: Reloads modules into CSA. This can be used to upgrade without an IPL of the operating system. Only run this after performing a STOP.
  • REMOVE: Disables the subsystem and removes modules from CSA. This operation will leave the SSCT entry and small (2K) module, but the module will be inactive. Do not do this while any IBI servers are running.

When START or RESTART is specified, SUBSYSI reads commands from SYSIN, as if issued from the z/OS console.

IBI Subsystem Operator Controls

To issue operator commands to the subsystem, prefix them with the IBI Subsystem name. Leading blanks are not permitted in the command itself but blanks are permitted in the command text. For example, assuming the subsystem has been installed as IBIS, the following commands are all valid:

IBIS D SUBSYSTEM
IBIS DISPLAY IBIPROD
IBIS D IBIPROD

You can also control the subsystem with the SUBSYSI program, by submitting commands from SYSIN DD. In this case, do not specify the PARM parameter on the EXEC card. The following example illustrates supplying several commands in this manner. The output of these commands will be in the job log.

//SUBSYSI EXEC PGM=SUBSYSI,REGION=4096K,
//STEPLIB  DD DSN=******.SUBSYS.LOAD,DISP=SHR
//SYSIN DD *
D SUBSYSTEM
D IBIPROD/*

IBI Subsystem Display Commands

The DISPLAY commands show subsystem-related or subsystem-managed information. The keyword DISPLAY can be abbreviated as D. The following commands are available:

  • DISPLAY IBIPROD displays one line of information for every IBI address space running on the system.
  • DISPLAY SUBSYSTEM shows internal information about the subsystem.

IBI Subsystem Troubleshooting

In this section:

In the event of problems with the IBI Subsystem, check the following conditions before contacting the Information Builders technical support group.

The following are the most common causes of problems with the IBI Subsystem:

IBI Subsystem Diagnostic information

When contacting Information Builders technical support for subsystem problems, some or all of the following information may be needed, depending on the nature of the problem:

  1. For installation problems, the JCL, input, and output for all zap and copy jobs run.
  2. For installation problems, all SYS1.PARMLIB updates performed.
  3. The output from the D SUBSYSTEM and D IBIPROD commands.
  4. The JCL, input, and output for all SUBSYSI jobs run.
  5. The JCL and output for the failing address spaces.

Information Builders