You are on page 1of 1

Course Title Introduction to Distributed Systems

Course code CoSc4161


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)

You might also like