COMP28112: Distributed Computing (2011-2012)
Many of the most important and visible uses of computer technology rely on distributed computing. This course unit aims to build on the course unit in the first year (COMP10052) which introduced students to the principles of distributed computing, and it focuses on techniques and methods in sufficient breadth and depth to provide a foundation for the exploration of specific topics in more advanced course units. The course unit assumes that students have already a solid understanding of the main principles of computing within a single machine, have a rudimentary understanding of the issues related to machine communication and networking, and have been introduced to the area of distributed computing.
Revision of the characteristics of distributed systems. Challenges. Architectural models.
Remote Invocation and Distributed Objects
Java RMI, CORBA, Web Services.
Synchronous vs asynchronous messaging. Point-to-point messaging. Publish-subscribe.
Concurrency, co-ordination and distributed transactions
Ordering of events. Two-phase commit protocol. Consensus.
Caching and Replication
Service-Oriented Architectures, REST and Web Services
Core TextTitle: Distributed systems (3rd edition)
Author: van Steen, Maarten and Andrew S. Tanenbaum
Publisher: CreateSpace Independent Publishing Platform
Core TextTitle: Distributed systems: concepts and design (5th edition)
Author: Coulouris, George et al.