Payap University Bachelor of Science (Computer Information Systems) Faculty of Science st 1 Semester / Academic Year 2011 1. Course: ICS362 Distributed Systems Credits: 3(3-0-6) Prerequisite: ICS361 Course Description: This course provides an introduction to the basic issues in the design and implementation of distributed systems. Topics include communication, processes, naming, synchronisation, consistency and replication, fault tolerance and security. 2. Instructor: Dr. Ken Cosh (Full Time Instructor) 3. Course Objectives: On completion of this course students will be able to: 3.1 Discuss key elements to consider when managing Distributed Systems, such as security, fault tolerance, consistency and replication. 3.2 Compare differences between different Object Based Systems, File Systems, Web Based Systems and Co-ordination Based Systems. 4. References: 1) (Compulsary) Distributed Systems, Principles and Paradigms, 2nd Edition, Andrew S. Tanenbaum & Maarten Van Steen, 2007. 2) Distributed Systems, Concepts and Design, 4th Edition, George Coulouris, Jean Dollimore, Tim Kindberg, 2005. 5. Course Outline: Week 1 2 3 4 5 Content Introduction * Definition of a Distributed System * Goals * Types of Distributed Systems Architectures * Architectural Styles * System Architectures * Architectures vs Middleware * Self Management in Distributed Systems Processes * Threads * Virtualisation * Clients * Servers * Code Migration Communication * Fundamentals * Remote Procedure Call * Message Oriented Communication * Stream Oriented Communication * Multicast Communication Naming * Names, Identifiers and Addresses * Flat Naming * Structured Naming Hours (Lect/Lab) 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 6 7 8 9 10 11 12 13 14 *Attribute Based Naming Synchronisation * Clock Synchronisation * Logical Clocks * Mutual Exclusion * Global Positioning of Nodes * Election Algorithms Midterm Review Consistency and Replication * Introduction * Data Centric Consistency Models * Client Centric Consistency Models * Replica Management * Consistency Protocols Fault Tolerance * Introduction * Process Resilience * Reliable Client Server Communication * Reliable Group Comunication * Distributed Commit * Recovery Security * Introduction * Secure Channels * Access Control * Security Management Distributed Object Based Systems * Architecture * Process * Communication * Naming * Synchronisation * Consistency & Replication * Fault Tolerance * Security Distributed File Systems * Architecture * Process * Communication * Naming * Synchronisation * Consistency & Replication * Fault Tolerance * Security Distributed Web Based Systems * Architecture * Process * Communication * Naming * Synchronisation * Consistency & Replication * Fault Tolerance * Security Distributed Co-ordination Based Systems * Architecture * Process * Communication * Naming * Synchronisation * Consistency & Replication * Fault Tolerance * Security 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 3 (3-0) 15 Final Exam Review 3 (3-0) 6. Course Activities This course will involve; Lectures Quizzes Reading the course material outside of class 7. Course Assessment: 1. Quizzes and Presentations 30% 2. Midterm exam 30% 3. Final exam 40% 8. Course Evaluation: 1. To be able to take the exam students must attend class at least 80% of the time. 2. Plagiarism is not acceptable, any students caught plagiarising will receive 0. 3. The evaluation is based on the Payap University grading scale given in the table below: Grade Letter Grade Score (four-point scale) Transcript Legend 80-100 A 4 Excellent 75-79 B+ 3.5 Very Good 70-74 B 3 Good 65-69 C+ 2.5 Quite Good 60-64 C 2 Moderate 55-59 D+ 1.5 Weak 50-54 D 1 Very Weak 0-49 F 0 Fail 4. The following “letter grades” may also be given: “I” Incomplete “W” Withdraw “IP” Course work in progress