Course overview
A selection of topics from the following: the challenges faced in constructing client/server software: partial system failures, multiple address spaces, absence of a single clock, latency of communication, heterogeneity, absence of a trusted operating system, system management, binding and naming. Techniques for meeting these challenges: RPC and middleware, naming and directory services, distributed transaction processing, 'thin' clients, data replication, cryptographic security, mobile code. Introduction to Java RMI.
Course learning outcomes
- Apply knowledge of distributed systems techniques and methodologies
- Explain the design and development of distributed systems and distributed systems applications
- Use the application of fundamental Computer Science methods and algorithms in the development of distributed systems and distributed systems applications
- Discuss the design and testing of a large software system, and to be able to communicate that design to others
Degree list
The following degrees include this course