Enrolment options

Larbi Ben M'hidi University - Oum El Bouaghi

Faculty of Exact Sciences and Natural and Life Science
Department 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.

Guest access