Distributed Systems form a rapidly changing field of computer science. New topics have emerged such as sensor networks, while others have become much more mature, like web services and web applications in general. This module introduces students to distributed systems fundamentals and the issues facing their design and implementation. This module is split into two distinct parts i.e. Principles and Paradigms, with relevant case studies where appropriate.
*Curricular information is subject to change
- Distributed System Fundamentals: Architectural models for distributed systems; concurrency, failure models, replication, naming and directory services, impact of underlying networks characteristics, internetworking, middleware.
- Examples of some successful distributed systems in recent years such as YouTube, Netflix, Google, Gmail, Facebook, or Amazon.
- Advanced Distributed Systems Issues: Processes and scheduling, time, security issues and securing distributed systems. Concurrency: synchronization and deadlocks, transaction management.
- Distributed objects and remote invocation: Communication between distributed objects, distributed object model, Java Remote Method Invocation (RMI), events and notifications, web services.
- The internet as a Distributed System and its main technologies (HTML, HTTP, TCP, IP, DNS, the OSI Levels, among others).
- Middleware: Purpose of middleware in distributed systems, middleware platforms.
- Web Services in Distributed Systems: Interface definitions; Concurrency and multithreading; Microservices, Serialisation.
- Relevant technologies and languages for designing Distributed Systems Web Services such as Java RMI, REST, SOAP, Node.js, Mongo DB, Erlang.
- Security in distributed systems: Main cyberattacks, security threads, use cases, and examples of prevention mechanism.
- The module will use some relevant programming language (Java, Python, JavaScript, etc) for implementing the different principles.
The course delivery involves a combination of lectures and labs which may incorporate the use of blended learning techniques as appropriate throughout the delivery.
| Module Content & Assessment | |
|---|---|
| Assessment Breakdown | % |
| Formal Examination | 70 |
| Other Assessment(s) | 30 |