Go to Dana Petcu's homepage


DISTRIBUTED SYSTEMS


Lecture/theory (a) - schedule:

  1. Lecture 1: Master studies (HG), lecture requirements
  2. Lecture 2: What is a Distributed System? In English and in Romanian
  3. Lecture 3: Design and Middleware. In English and in Romanian
  4. Lecture 4: Communication in Client-Server model. In English and in Romanian
  5. Lecture 5: Remote Procedure Call. In English and in Romanian
  6. Lecture 6: Group Communication. In English and in Romanian
  7. Lecture 7: Clock synchronization - part 1. In English and in Romanian
  8. Lecture 8: Clock synchronization - part 2. In English and in Romanian
  9. Lecture 9: Distributed Mutual Exclusion. In English and in Romanian
  10. Lecture 10: Deadlocks. In English and in Romanian
  11. Lecture 11: Fault tolerance. In English and in Romanian
  12. Lecture 12: Distributed Computing Models. In English and in Romanian
  13. Lecture 13: Elections. In English and and in Romanian
  14. Lecture 14: Resource Management in Distributed Systems. In English and in Romanian

Lecture/Technologies (b) - schedule:

  1. Lecture 1: Lab requirements and final project.
  2. Lecture 2: First Technologies for Distributed Systems. In English and in Romanian
  3. Lecture 3: P2P. In English and in Romanian
  4. Lecture 4: Grids. In English and in Romanian
  5. Lecture 5: Web Services. In English and in Romanian
  6. Lecture 6: WS standards: XML, WSDL, SOAP, UDDI. In English and in Romanian
  7. Lecture 7: Virtualization. In English and in Romanian
  8. Lecture 8. Cloud computing. In English and in Romanian
  9. Lecture 9: Service oriented architectures. In English and in Romanian
  10. Lecture 10: Ubiquitous Computing. In English and in Romanian
  11. Lecture 11. Real Time Systems. In English and in Romanian
  12. Lecture 12: Edge and Fog Computing. In English and in Romanian
  13. Lecture 13. Streaming processing systems. In English and in Romanian
  14. Lecture 14. Review of the subjects. Examination requirements. Example of questionnaire.

Labs (Java) - schedule:

  1. Lab 1 - Sockets in Java. TCP Sockets. Streams, Readers and Writers for Input and Output
  2. Lab 2 - UDP Sockets. Multicasting. Remote Method Invocation
  3. Lab 3 - Bottom-up build of web services. Automated building of clients of web services.
  4. Lab 4 - Programming a client of a Web service. Writing a client of a public Web service.
  5. Lab 5 - Writing a simple web app in a PaaS. Option 1: use Azure; Option 2: use Google App Engine
  6. Lab 6 - Using Lambda functions from Amazon Web Services.
  7. Lab 7 - Using simulators for Cloud (IaaS) and Fog: CloudSim and iFogSim

Textbooks:

  1. Main lecture notes: Distributed Systems (in English).
  2. Supplementary material: D. Petcu, V. Negru, Distributed Processing (in Romanian), Ed. Universitatii de Vest, 2002

A short description of the lecture can be found here.

The page of the previous lectures (in Romanian) can be found here here.


Schedule in Winter semester of 2024/2025

Weekly meetings:

  1. Monday, in Romanian, Room 048, 16:20-17:50 Lecture (IS), 18:00-19:30 Lab (IS group 1- odd weeks, IS group 2 - even weeks)
  2. Friday, in English, Room F108, 19:40-21:10 Lecture (AIDC + BD + CS+ ISR), 18:00-19:30 Lab (AIDC - odd weeks, BD+CS+ISR - even weeks)


In Romanian:

Week Date 16:20 18:00 Remark
1 30 Sep 2024 Lecture 1 Lab 1
2 7 Oct 2024 Lecture 2 Lab 1
3 14 Oct 2024 Lecture 3 Lab 2
4 21 Oct 2024 Lecture 4 Lab 2
5 28 Oct 2024 Lecture 5&6 Lab 3
6 4 Nov 2024 Lecture 7 Lab 3
7 11 Nov 2024 Lecture 8 Lab 4
8 18 Nov 2024 Lecture 9 Lab 4
9 25 Nov 2024 - -Teacher not available
10 2 Dec 2024 Lecture 10 Lab 5
11 9 Dec 2024 Lab 5 Lab 6
12 16 Dec 2024 Lecture 11+12 Lab 6
13 6 Jan 2025 -- -- Official holliday
14 13 Jan 2025 Lecture 13+14 Lab 7

In English:

Week Date 18:00 19:40 Remark
1 4 Oct 2024 Lab 1 Lecture 1
2 11 Oct 2024 Lab 1 Lecture 2
3 18 Oct 2024 Lab 2 Lecture 3
4 25 Oct 2024 Lab 2 Lecture 4
5 1 Nov 2024 Lab 3 Lecture 5&6
6 8 Nov 2024 Lab 3 Lecture 7
7 15 Nov 2024 Lab 4 Lecture 8
8 22 Nov 2024 - - Teacher not available
9 29 Nov 2024 Lab 5 Lecture 9
10 6 Dec 2024 Lab 4 Lab 5
11 13 Dec 2024 Lab 6 Lecture 10
12 20 Dec 2024 Lab 6 Lecture 11+12
13 10 Jan 2025 Lab 7 Lecture 13
14 17 Jan 2025 Lab 7 Lecture 14


References:

  1. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, Distributed Systems. Concepts and Design, Addison-Wesley, 2012
  2. D.Petcu, V.Negru, Distributed processing (in Romanian), Ed. Univ. de Vest, Timisoara, 2002.
  3. Joe Clabby, Web Services Explained: Solutions and Applications for the Real World, Prentice Hall PTR, 2002
  4. Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall PTR, 2005
  5. Andrew S. Tanenbaum, Marteen Van Steen, Distributed Systems. Principles and Paradigms, CreateSpace Independent Publishing Platform, 2016
  6. Ray. Rafaels, Cloud Computing: From beginning to end, CreateSpace Independent Publishing, 2015
  7. Binildas CA, Malhar Barai, Vincenzo Caselli, Service Oriented Architecture with Java. Using SOA and web services to build powerful Java applications, Packt Publishing Ltd., 2008
  8. Kenneth L. Calvert, Michael J. Donahoo. TCP/IP sockets in Java : practical guide for programmers, 2nd ed., Elsevier, 2008
  9. John Paul Mueller, Mining Google Web Services: Building Applications with the Google API, Sybex, 2004
  10. James Murty, Programming Amazon Web Services, O'Reilly, 2008
  11. John Long, Cloud Native Java, O Reilly, 2017

Last modification: September 29, 2024