The image heter011.gif shows multithreaded agent architecture. Two user sessions on the Oracle server (which includes Heterogeneous Services) issue requests to two dispatcher threads, whch are part of the agent process. The agent process consists of dispatcher threads and task threads. Each dispatcher thread relays the requests by means of a task thead to the non-Oracle system. Individual requests are relayed by the dispatcher in one of two ways:

A single request from a user session is relayed to the non-Oracle system over a single task thread set up by a single dispatcher

Requests from different user sessions are relayed to the non-Oracle system by a task thread that is shared between the two dispatchers