Relationships among Sessions, Conversations, and LUs

A connection between LUs is called a session. This connection can pass through intermediate network nodes. However, LU 6.2 programs do not need to account for the details of the connection. It makes no difference to the client transaction program whether the server transaction program is in the same room or thousands of miles away. The LU 6.2 API is responsible for starting and ending sessions between LUs of type 6.2.

Though a session can carry only one conversation at a time, it can be reused for another conversation when the first one is finished. The LU 6.2 software determines whether to terminate a session when the conversation ends, or to keep the session open and reuse it.

Some LUs can handle multiple, parallel sessions. Each session is independent. Some possible relationships among machines, LUs, sessions, and transaction programs are illustrated in Figure 1.

Figure 1. Relationships between Programs and LUs
Displays relationships between programs and LUs.

Figure 1 depicts two parallel sessions between LUA1 in System A and LUB1 in System B. One session carries a conversation between client TPC1 and server TPS1. The other session is not in use for a conversation at this time.

In System C, LUC1 also supports two parallel sessions. Both are in use by client TPC3, which is carrying on a conversation with server TPS2 in System A. TPC3 also has a conversation in progress with TPC4 in System D. This figure illustrates that a transaction program is not limited to a single conversation. The figure also shows that a program can be both a client and a server. A possible scenario for the conversations could be that program TPC4 started program TPC3 in order to request a service. To deliver that service, TPC3 requested a service from TPS2.