Browse Prior Art Database

Timeouts for SSA'S CPI-C Wait-on-Event Driven VM Servers

IP.com Disclosure Number: IPCOM000101848D
Original Publication Date: 1990-Sep-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 2 page(s) / 95K

Publishing Venue

IBM

Related People

Callaghan, PJ: AUTHOR

Abstract

A program is disclosed that allows for a programmed timeout in VM servers that are driven by requests received on the Common Programming Interface Communications (CPI-C) Wait-on-Event (XCWOE) routine. The timeout is necessary since a VM server cannot effectively manage other resources (virtual readers, Advanced Program to Program Communication/VM (APPC/VM) paths, processes to be retried at regular intervals, recovery type processes, etc.) while waiting on CPI-C events since the XCWOE routine suspends processing for an indefinite length of time.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Timeouts for SSA'S CPI-C Wait-on-Event Driven VM Servers

       A program is disclosed that allows for a programmed
timeout in VM servers that are driven by requests received on the
Common Programming Interface Communications (CPI-C) Wait-on-Event
(XCWOE) routine.  The timeout is necessary since a VM server cannot
effectively manage other resources (virtual readers, Advanced Program
to Program Communication/VM (APPC/VM) paths, processes to be retried
at regular intervals, recovery type processes, etc.) while waiting on
CPI-C events since the XCWOE routine suspends processing for an
indefinite length of time.

      Through the use of this timeout capability, a VM server can
wait on CPI-C events and immediately attend to CPI-C events as they
occur.  If the timer expires before any CPI-C event occurs, the XCWOE
will complete and the server is free to perform other processes.
Therefore, a server can immediately attend to CPI-C events while
routinely performing other work, without depending on a partner's
communication (to terminate the XCWOE routine).

      The timeout capability is performed through a unique
combination of CPI-C calls, APPC/VM functions and OS/MVS timer
simulation.  Before a VM server performs the CPI-C XCWOE routine, the
server must set a timer (via the OS/MVS STIMER macro which CMS
simulates), which defines an exit located in the nucleus extension.
If the timer expires before the XCWOE routine completes, the exit
will receive control and create a CPI-C event to complete the pending
XCWOE routine.  The server is then free to perform other processes
before the next iteration of setting a timer and issuing the XCWOE
routine.  (Note:  The STIMER simulation has to be performed at the
same supervisor call instruction (SVC) level as the XCWOE routine
since the STIMER exit does not survive past the end- of-SVC.)

      The following algorithm demonstrates how the timeout capability
is implemented: MAIN exec:
      1)   'CMS NUCXDROP ADAPTER'
      2)   'CMS NUCXLOAD ADAPTER'
      3)   CPI-C Identify (XCIDRM) a resource named cpic-res
      4)   call 'ADAPTER (CONNECT TO CPIC-RES'
                ADAPTER:  a)   HNDIUCS SET ...
                          b)   APPC/VM CONNECT, PRMLIST=input-plist,
MF-L, RESID=cpic-res,...
c)   CMSIUCV CONNECT, PRMLIST=input-plist, EXIT=conints,...
      5)   CPI-C accept (CMACCP) the connection from ADAPTER
      /*   ADAPTER's CMSIUCV exit (at label conints) now gets control
*/
 ADAPTER (at label conints): a) save IPPATHID from CCI
/*   At this point, the nucleus extension m...