El documento describe dos tipos de algoritmos distribuidos: 1) Algoritmos basados en arquitectura cliente-servidor que usan invocación remota de métodos, 2) Algoritmos genéricos que consideran un sistema distribuido como objetos conectados a través de una red que cooperan para lograr un objetivo común. Se implementan ejemplos de ambos tipos usando Java y la clase jPVM para modelar la red como un objeto, incluyendo algoritmos para el problema de exclusión mutua distribuida.