Uma aplicação distribuída é dividida em diferentes partes que se comunicam através de uma rede de comunicação de dados, podendo cada parte ser executada em
qualquer processador de qualquer um dos componentes do sistema distribuído. Para viabilizar isso, o sistema
deve oferecer transparência e tolerância a falhas em vários níveis, criando a ideia de imagem única do sistema
(single system image). Dentre os vários aspectos relativos
à transparência, há um no qual o usuário não tem de se
preocupar onde estão os recursos dos quais suas aplicações necessitam.
Esse aspecto é o de transparência de