O módulo de distribuição é controlado internamente por três objectos principais, que orquestram toda a sua actividade: o gestor de distribuição, que é também o gestor do módulo, o gestor de clientes e o gestor de servidores.
O gestor de distribuição tem uma tarefa de mais alto nível que é coordenar as interacções entre o nível de programa e os gestores de clientes e de servidores. O gestor de servidores, como o seu nome indica, coordena os objectos servidores de interface num dado contexto, e através destes as ligações do exterior com os envelopes. O gestor de clientes tem uma tarefa dual da do seu congénere para os servidores: manter a informação sobre os servidores remotos importados pelo contexto e saber quais os clientes locais, i.e., as ligações do contexto local ao exterior.
Os objectos que realmente estão ligados ao mecanismo de transporte de mensagens são os servidores e clientes de interface. Todas as comunicações entre contextos e para cada interface são multiplexadas pelos primeiros e desmultiplexadas pelos segundos. Os envelopes são transparentemente invocados pelos servidores e comunicam, também de forma transparente, com os clientes.
Nas figuras seguintes, GDist representa o gestor de distribuição, sendo os de servidores e clientes respectivamente legendados por GSvc e GClt. Os servidores de interface são designados por SIF e os clientes de interface por CIF.
Os três gestores existem desde que um contexto possua a capacidade, conferida pela existência do módulo de distribuição, de transformar alguns dos seus objectos em objectos distribuídos. A inicialização dos gestores tem lugar antes de a aplicação começar a executar o código inicial do nível de programa.
Os servidores/clientes de interface apenas são criados quando algum objecto do tipo correspondente à interface tem que ser exportado/importado por um contexto. Um contexto que nunca utilize objectos remotos e que não disponibilize nenhuns para utilização remota, nunca verá estes objectos.