CMT202 - Distributed and Cloud Computing

SchoolCardiff School of Computer Science and Informatics
Department CodeCOMSC0
Module CodeCMT202
External Subject CodeI160
Number of Credits20
LevelL7
Language of DeliveryEnglish
Module Leader Dr Andrew Jones
SemesterSpring Semester
Academic Year2017/8

Outline Description of Module

The aim of this module is to familiarize students with issues and successful approaches in the design of distributed systems. Detailed case studies of widely used systems will be discussed in this module.

The course covers: the organisation of distributed systems, focusing on various architectural styles used to develop such systems; core technologies to implement distributed systems; various models and infrastructures to support Cloud computing – such as virtualisation; and emerging themes in distributed systems, such as fault tolerance and policy driven autonomic self-management. 

On completion of the module a student should be able to

1. Demonstrate and apply knowledge about the state-of-the-art in distributed-systems architectures.

2. Understand issues in distributing an application across a network.

3. Appreciate the difference between various distributed computing middleware and their communication mechanisms.

4. Demonstrate and apply knowledge of common security practices within distributed systems.

5. Understand and be able to utilize Cloud computing environments.

6. Demonstrate and apply knowledge of standards in distributed computing, and the impact of standardisation on application programs.

 

How the module will be delivered

This module will be delivered through a combination of lectures, supervised lab sessions, example classes and tutorials, as appropriate.

 

Skills that will be practised and developed

A. Design a distributed systems architecture using middleware where appropriate.

B. Compare different designs and assess them using appropriate metrics.

C. Design and use services in a distributed environment.

D. Specify and design Service Level Agreements.

E. Specify the deployment of Cloud computing applications.

F. Design wrappers and services which overcome heterogeneity and support interoperability of autonomous information resources.

How the module will be assessed

Coursework:  the coursework will allow students to demonstrate their knowledge and practical skills and to apply the principles taught in lectures.

Exam: a written exam (2 h) will test the student’s knowledge and understanding as elaborated under the learning outcomes.

The potential for reassessment in this module

Resit examination only.

 

Assessment Breakdown

Type % Title Duration(hrs) Period Week
Examination - Spring Semester 70
Distributed And Cloud Computing
2 1 N/A
Written Assessment 30
Design A Distributed System
N/A 1 N/A

Syllabus content

The following topics will be covered in this module:

Characterization of Distributed systems

System Models

Inter-process Communication

Remote Invocation

Indirect Communication

Distributed Object and Components

SOAP-based Web Services and Restful Web Services

Peer-to-Peer Systems

Security

System security

Cloud and virtualisation security

Data security & privacy

Coordination and Agreement

Distributed transaction and Concurrency Control

Replication

Mobile and Ubiquitous Computing

Cloud Computing

Virtualisation (resource, network, operating system and container-based).

Data replication and availability in Cloud environments.

Dynamic provisioning (elastic computing) and scaling.

Examples: Amazon EC2/S3, Google App Engine and Microsoft Azure.

Relevant emerging technologies (e.g. edge computing, time-critical cloud applications).

Essential Reading and Resource List

George Coulouris et al., “Distributed Systems: Concepts and Design ”, 5th Edition, Pearson, 2011.

Jothy Rosenberg and Arthur Mateos, “The Cloud at Your Service” Manning Publications Co., 2010.

Background Reading and Resource List

Not applicable.

-----------------------------
© Cardiff University