Module Title and Code Addis Ababa University Distributed Systems Credit hour/ECTS 5 Prerequisite Department of Computer Science CoSc-M2041(CoSc2043), CoSc-M2051(CoSc2051)
Course Objectives and Competence
Course Outline Upon completion of this course the student will be able to: Present the principles underlying the functioning of distributed systems. Discuss the major technical challenges in distributed systems design and implementation. Academic Year the techniques used Explain 2020/21 Semester: -> II to solve the aforementioned challenges. Instructor Name Argue on the challenge ofAshenafi time in aK.distributed system. Instructor Explain the typical algorithms used Science Contact Address Computer Building, in distributed Room No. 221 systems. Consultation Hourthe characteristics Describe Fri of 1:30 – 3:30 systems and differentiate between different types of distributed middleware systems. Discuss how processes tolerate faults Discuss security issues on distributed systems Course Description The course covers design issues in distributed systems, hardware and software issues, inter-process communication, remote procedure call and remote method invocation, communication, synchronization and coordination issues, consistency and replication issues, Lamport`s Logical Clocks, fault tolerance, and security issues Course Breakdown (Topics/Units some with sub-units and allotted time to each sub-unit as well) Chapter 1: INTRODUCTION Distributed Systems - What and Why Examples Types Characteristics Challenges and Issues Architecture (Hardware and Software) Chapter 2: ARCHITECTURE Software Architectures System Architecture Chapter 3: COMMUNICATION The Layered Protocol Why Communication (In Uniprocessor/ Multiprocessor and Distributed Systems) Communication Modes: o Data vs Control Oriented, o Synchronous vs Asynchronous, o Transient vs Persistent. Communication Abstractions o Remote Procedure Call (RPC) o Remote Method Invocation (RMI) o Message-Oriented Communication o Group Communication, and Streams Chapter 4: NAMING Names, Identifiers, and Addresses. Flat Naming (The Different Techniques) Structured Naming Attribute - Based Naming Chapter 5: REPLICATION AND CONSISTENCY Replication: Issues, Distributed Data Store Consistency: Data and Client Centric Consistency Models, Replica Placement, and Consistency Protocols Chapter 6: SYNCHRONIZATION AND COORDINATION Distributed Algorithms Synchronous vs Asynchronous Distributed Systems Synchronization and Coordination: Definition Clock Synchronization: Physical Clocks, Synchronizing Physical Clocks (Internal and External Synchronization)