Engine components

The basic engine components are sites, processes, threads, and queues. Sites contain processes, processes contain threads, and threads wait in queues.

Sites

The processes inside the system run on a single, physical machine. A machine can contain multiple sites, or centers of communication, within a system installation.

Site communication happens with network-based transports and physical connections.

Processes

One site may contain multiple processes working together on message movements. A basic process consists of these threads:

  • Inbound protocol thread
  • Outbound protocol thread
  • Translation thread
  • Command thread

The engine contains one or more processes. Each process’s data flow is transparent within the engine. Data flow issues are transparent to the user whether they are moving within a single process or between multiple processes.

Note: On an Symmetric MultiProcessing (SMP) server, the only way to run multiple threads in parallel is to put them into separate processes. Threads in the same process cannot run in parallel.

Interthread communication

The engine has an Interthread Communications Library (ICL) that lets threads communicate with each other, even across multiple processes.

Intraprocess messaging takes advantage of a shared address space between threads in the same process. It is also fast, because it does not require data copying or calls from the system to deliver a message.