The primary task of OpenSwitch is to manage incoming user client application connections. OpenSwitch does this by capturing connection information about the client, such as user name and password, and using this information to establish an Open Client connection to the remote database server. This connection is bonded, or attached, to the incoming client connection so that each incoming connection has its own outgoing server connection for the life of the client application session. Each bond between connections is managed by an Open Server thread so that multiple bonds are managed simultaneously.
Figure 2-1: Connections and threads
Each OpenSwitch thread is responsible for these tasks: