Concurrent and Distributed Computing in Java - Garg (IEEE, 2004)