PODC '04: Principles of Distributed Computing 2004