Distributed computing systems concepts and structures (IEEE Computer Society Press, 1991)