Distributed and parallel systems : (Springer, 2007)