z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Server selection criteria

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

When sending a request, the client can specify criteria that influences which server instance gets selected to process the request. When the SERVER keyword is specified to identify the target server by name, the CLIENTLEVEL and CRITERIA keyword values, in conjunction with attributes specified by the server when it was started, are used by XCF to select the application that is operating. The CRITERIA keyword identifies a storage area that describes the range of server levels and the set of features that the target server must support in order to process the request. The storage area identified by CRITERIA is mapped by ixcysrvr_tCriteria, which is declared in the IXCYSRVR mapping macro.

When IXCSRVR is invoked to start a server instance, the MINLEVEL and MAXLEVEL keywords determine the range of server levels that the server supports. The FEATURES keyword indicates the set of features that the server supports. The MINCLIENT and MAXCLIENT keywords indicate the range of client levels whose requests the server is willing to accept.

The designer of the client/server application determines how the various levels and features are to be interpreted. However, XCF has very specific rules as to how levels and features are to used to select a server instance that is suitable for processing the request. These rules apply when the target server is identified by name (SERVER). An instance of the named server is suitable for processing the request if (1) The client level is within the range of client levels that are acceptable to the server, (2) the range of server levels specified by the client intersect the range of levels supported by the server, and (3) the server supports all the features requested by the client.

A feature string is mapped by ixcysrvr_tFeatures, which is defined by the IXCYSRVR mapping macro. ixcysrvr_tFeatures maps both the feature level and the feature flags. A server supports all of the features requested by the client if either of the following are true:
  • The feature level requested by the client is less than the feature level supported by the server.
  • The feature level requested by the client equals the feature level supported by the server, and every nonzero feature flag requested by the client is also nonzero for the server.

The intended purpose of these rules is to provide a protocol that allows different versions of a client/server application to run compatibly at the same time in the same sysplex. With careful use of levels and features a client/server application can ensure that XCF routes client requests to an appropriate instance of the server. An up-level server can in effect refuse to process requests sent by a downlevel client. An up-level client can in effect prevent its request from being processed by a downlevel server. See Client/server compatibility.

Although the server selection rules for client level, server level, and server features are applied only when the target server is identified by name, the client can still specify the CLIENTLEVEL and CRITERIA keywords on IXCSEND when the target server is identified by server id. XCF always selects the designated server instance to process the request without regard to levels and features. However, the values specified by the client will be presented to the server instance. There might be cases where the server exit routine might make use of this information to determine whether and how it is to process the request.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014