Enrolment options
Larbi Ben M'hidi University - Oum El Bouaghi
Faculty of Exact Sciences and Natural and Life ScienceDepartment of Mathematics and Computer Science

Intended for:
1st Year of Master's Degree (Computer Science)
Specialty:
Networks and Distributed Systems
Objectives:
- Introduce the fundamental principles of distributed systems
- Understand communication models and classical problems
- Learn the basics of synchronization in distributed environments
Prerequisites:
- Algorithmics
- Operating systems
- Computer networks
Module Content:
Chapter 1: Introduction to Distributed Systems
- Definitions, objectives, expected properties
- Application examples (Cloud, P2P, Blockchain, etc.)
- Challenges of distributed systems
- Middleware and software abstraction
- Theoretical foundations: networking, concurrency, scalability
Chapter 2: Architectures of Distributed Systems
- Taxonomies (hardware, OS, network, software)
- Client-Server, Multi-tier, P2P, Proxy/Cache models
- Microservices and containers (Docker, Kubernetes – introduction)
Chapter 3: Distributed Communication Paradigms
- Synchronous and asynchronous message passing
- Remote Procedure Calls (RPC)
- Remote Method Invocation (RMI)
- Event-based and shared-memory communication
- Basics of group communication
Chapter 4: Time, Scheduling, and Synchronization
- Concurrency and causality
- Physical time and synchronization (Cristian, Berkeley)
- Logical clocks (Lamport, vector clocks)
- Global and causal scheduling
- Application: Mutual exclusion (centralized and distributed)
Chapter 5: Fundamental Problems and Coordination
- Naming and service discovery
- Distributed coordination: deadlocks, synchronization, state management
- Termination detection (Dijkstra’s algorithms and related approaches)
Evaluation Method:
- Exam: 60%
- Continued Evaluation: 40% (20% + 20%)
References:
- G. Coulouris, J. Dollimore, T. Kindberg — Distributed Systems: Concepts and Design, Addison-Wesley, 2003.
- A. S. Tanenbaum, M. van Steen — Distributed Systems: Principles and Paradigms, Prentice Hall, 2002.
- Michel Raynal — Synchronization and Global State in Distributed Systems, Éditions Eyrolles, 1992.
- M. Singhal, N. G. Shivaratri — Advanced Concepts in Operating Systems, McGraw-Hill, 1994.
- Nancy Lynch — Distributed Algorithms, Elsevier, 1996.
- Ajay D. Kshemkalyani, Mukesh Singhal — Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press, 2008.
- Nicola Santoro — Design and Analysis of Distributed Algorithms, Wiley, 2007.
- Alexandre Duret-Lutz — Distributed Algorithms, Lecture Notes.
- Cyril Gavoille — Distributed Algorithms, Master 1&2, University of Bordeaux, 2015.
- Jie Wu — Distributed System Design, CRC Press, 1999.