Distributed computing a practical synthesis of networks, client-server systems, distributed applications, and open systems - Umar, Amjad (000000, 1993)