El documento describe los sistemas distribuidos, definiéndolos como aquellos en los que los componentes de hardware y software se comunican mediante el paso de mensajes a través de una red. Explica los desafíos en su diseño como la heterogeneidad, extensibilidad, seguridad, escalabilidad y tolerancia a fallos. También presenta modelos arquitectónicos como el cliente-servidor y peer-to-peer, así como capas de software como la plataforma y el middleware.