Previous Topic: Single-Instance Client ManagerNext Topic: Client Manager ID User Exit


Multi-Instance Client Manager

In a multi-instance environment, there must be multiple instances of Client Manager active on the same shared client workstation. The unique mailslot identifier as specified by the Client Manager CoopFlow runtime can determine the user who has logged on to the Client Manager. The Client Manager CoopFlow Runtime and the Client Manager share the same DLL containing the Client Manager ID user exit. The Client Manager uses the user exit during the initialization processing that constructs the mailslot name. The GUI Runtime makes use of the Client Manager CoopFlow when it processes a cooperative flow to the Client Manager.

System resource conflicts occur if more that one instance of the Client Manager attempts to use the same mailslot identifier. Only the first instance of the Client Manager would be able to allocate the mailslot. Other instances of the Client Manager fail due to the mailslot conflicts.

To support a multi-instance environment, each Client Manager must provide a unique ID. This unique ID is used when constructing its mailslot identifier. The unique id is obtained using the Client Manager ID user exit. The ci_cm_id() entry point is located in the cicmclx.c source file. The user-written code typically would make use of the unique logon user-id, session-id, or some other attribute that uniquely distinguishes one user of a multi-user environment from another.

Each occurrence of a Multi-Instance Client Manager behaves the same as its single-instance counterpart. Each occurrence of a Multi-Instance Client Manager must have its own initialization (.ini) and log file, but if desired, they can share the server configuration (.srv) file. However, sharing the .srv file limits their ability for each user to maintain separate security data for individual target server definitions. Therefore, it is recommended that each user have individual server configuration files as well.

There is never more than one Client Manager GUI interface displayed within a single desktop view. Attempting to start a second instance within the same desktop view, results in the currently active Client Manager instance being given desktop view focus.

The following diagram illustrates multiple user workstations logging on to a single client application workstation.

Multiple user workstations logging on to a single client application workstation