Distributed algorithms. (©1996)