Previous Topic: Understanding CURRENT and DESIRED Resource StatesNext Topic: Detect State Changes for Resources


Understanding Prerequisites and Subrequisites

Prerequisites are resources whose current state must be in the table-relative UP state for another resource to be started. For example, the current state of JES must be UP for TSO to be started. Prerequisites are evaluated only when the desired state of the selected resource is table-relative UP and the current state is table-relative DOWN. When this specific mismatch occurs, SSM checks the state of all prerequisites for the starting resource. SSM then defers issuing any action until all prerequisite resources are UP. For all other combinations of current and desired states, except when the desired state is DOWN and the current state is UP, SSM dispatches an action without checking any prerequisites.

Subrequisites are dependent resources that cannot be up when a prerequisite resource is down. A subrequisite is the mirror image of a prerequisite. Subrequisites are evaluated only when the desired state of the selected resource is table-relative DOWN and the current state is table-relative UP. When this specific state mismatch occurs, SSM checks the state of all resources that are subrequisite to (dependent upon) the stopping resource. SSM then defers any action until all subrequisites are down. For all other combinations of current and desired states, except when the desired state is UP and the current state is DOWN, SSM dispatches an action without checking any subrequisites or prerequisites.

Prerequisites are named in a list (the PREREQ column) that is part of the description of each resource, kept in an RDF table. An SQL SELECT call can retrieve all the direct prerequisites of a resource from the table. However, there is no explicit subrequisite list. Instead, SSM creates a list of subrequisites for a resource, when needed, by scanning all the prerequisites for every resource in all resource tables. In the TSO/JES2 example, before SSM would terminate JES2, it would find that TSO is a subrequisite, and would add the TSO resource name to the MISSING_PREREQ column for JES2, and then take no further action on JES2 until TSO came down.

Indirect prerequisites and subrequisites are possible. For example, CICS can depend on TSO. That dependence makes JES2 an indirect prerequisite of CICS. The searching capability of the SSM engine finds indirect prerequisites and subrequisites, even if they are indirect multiple times.

SSM uses prerequisite and subrequisite dependencies between resources to make certain that all prerequisites are satisfied before a resource is brought up, and conversely, that all subrequisite (dependent) resources are brought down before terminating their prerequisite.

You can use OPSVIEW option 4.11.2 to observe prerequisite or subrequisite conflicts from a TSO session. You can also use the SSMDISPC sample CMD rule to display SSM resource status from a console.