This is a graduate level course and students need to apply and be approved to one of the graduate programs or as a non-program School of Computing and Information Systems graduate student in order to take this course. Minimum admission requirements must be met. Undergraduate students who do not meet admission requirements will not normally be permitted to take this course.
COMP 689 deals with major recent developments in distributed systems technology. It explains the principles of distributed systems, such as communication, naming, synchronization, replication, fault tolerance, and security, using examples and case studies. It covers architectures in distributed systems, reflecting progress made on organizing distributed systems, and new topics such as peer-to-peer computing, sensor networks, web services, grid computing, virtualization, cloud computing and its roots in distributed systems mechanisms, and self-management of distributed systems.
The course illustrates design concepts for each topic with concept-oriented assignments and a small, high-level programming assignment. Students will complete a project on the design and implementation of a real distributed system.
Outline
Part I: Advanced Distributed Systems – Foundation
Unit 1: Introduction
features and types of distributed systems
Unit 2: Architectures
architectures, middleware, and self-management in distributed systems
Unit 3: Processes
multithreaded clients and services, virtualization and virtual machines, and code migration
Unit 4: Communication
RPC-, message-, and stream-oriented communication and multicast communication
Unit 5: Naming
flat, structured, and attribute-based naming
Unit 6: Synchronization
synchronization algorithms
Unit 7: Consistency and Replication
consistency models and replica management
Unit 8: Fault Tolerance
failure models, failure detection, algorithms for fault tolerance, and recovery from failure in distributed systems
Unit 9: Security
distribution of security mechanisms, access control, and security management
Part II: Advanced Distributed Computing in the Cloud – Infrastructures, Services, and Applications
Unit 10: Introduction to Cloud Computing
analyzing cloud service models, designing distributed applications based on a cloud platform, and deploying computing resources and running services in the underlying cloud infrastructure
Unit 11: Virtual Machine Provisioning and Migration for Cloud Infrastructures as a Service
provisioning virtual machines and migration services for cloud infrastructures; deploying and running workflow applications on multiple virtual instances and clouds
Unit 12: Cloud Platform and Software as a Service
analyzing multilevel interoperability of clouds across distributed infrastructure and across multiple heterogeneous and distributed resources (services and data centres)
Learning outcomes
Upon successful completion of this course, you should be able to
explain the principles underlying the function of distributed systems and their extension to grid and cloud computing and virtualization techniques.
explain past and current research issues in the field of distributed systems and new challenges in cloud computing.
identify key issues related to multilevel interoperability across a distributed infrastructure and across multiple heterogeneous and distributed resources in a dynamically changing computing environment.
apply the principles in contemporary distributed systems and specific distributed infrastructure such as cloud infrastructure, fog, and edge computing.
analyze workflow applications and workflow management mechanisms on multiple virtual instances and challenges with respect to secure data storage, communications, configurability, and performance in distributed systems.
develop distributed system software using various methods, strategies, and techniques.
evaluate the effectiveness and shortcomings of solutions to the challenges of design and implementation of advanced distributed systems.
Evaluation
To receive credit for COMP 689, you must achieve a course composite grade of at least B– (70 percent), an average grade of at least 60 percent on the assignments, and a grade of at least 60 percent on the oral presentation.
The weighting of the composite grade is as follows:
Activity
Weight
Assignment 1: Article Analysis
20%
Assignment 2: Lab
20%
Assignment 3: Project
35%
Oral Presentation
25%
Total
100%
Materials
Buyya, R., Broberg, J., & Goscinski, A. M. (Eds.) (2011.) Cloud computing: Principles and paradigms. John Wiley & Sons. (eBook)
Cafaro, M., & Aloisio, G. (Eds.) (2011.) Grids, clouds and virtualization. Springer. (eBook)
Tanenbaum, A. S., & von Steen, M. (2016). Distributed systems: Principles and paradigms (2nd ed.) [digital version]. Maarten van Steen. https://www.distributed-systems.net/index.php/books/ds2/ (Original work published 2007) (PDF)
Athabasca University reserves the right to amend course outlines occasionally and without notice. Courses offered by other delivery methods may vary from their individualized study counterparts.