Describir: Distributed operating systems: concepts and practice