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 2023/2024

Weekly meetings:

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


In Romanian:

Week Date 18:00 19:40 Remark
1 2 Oct 2023 Lecture 1 Lab 1
2 9 Oct 2023 Lecture 2 Lab 1
3 16 Oct 2023 Lecture 3 Lab 2
4 23 Oct 2023 Lecture 4 Lab 2
5 30 Oct 2023 Lecture 5 Lab 3
6 6 Nov 2023 - Lab 3 rescheduled in 10 Nov,16:20 Teacher illness
7 13 Nov 2023 Lecture 6+7 Lab 4
8 20 Nov 2023 Lecture 8 Lab 4
9 27 Nov 2023 Lecture 9 Lab 5
10 4 Dec 2023 Lecture 10 Lab 5
11 11 Dec 2023 Lecture 11 Lab 6
12 18 Dec 2023 Lecture 12 Lab 6
13 8 Jan 2024 Lecture 13 Lab 7
14 15 Jan 2024 Lecture 14 Lab 7

In English:

[Rescheduled at 16:20]
Week Date 16:20 18:00 19:40 Remark
1 6 Oct 2023 Lab 1 Lecture 1 Lab 1
2 13 Oct 2023 Lecture 2 Lab 1
3 20 Oct 2023 Lab 2 Lecture 3 Lab 2
4 27 Oct 2023 Lecture 4 Lab 2
5 3 Nov 2023 Lab 3 Lecture 5+6a Lab 3
6 10 Nov 2023 Lab 3 (Recover) UVT's Gala
7 17 Nov 2023 Lab 4 Lecture 6b+7 Lab 4
8 24 Nov 2023 - - Teacher at Iasi/Consortium Informatica
9 1 Dec 2023 Public celebration
10 8 Dec 2023 Lecture 8+9a Lab 4
11 15 Dec 2023 Lecture 9b+10 Lab 5 Lab from 16:20 moved at 19:40 or next week
12 22 Dec 2023 Lab 5 Lecture 11+12aLab 5
13 12 Jan 2024 Lab 6 Lecture 12b+13Lab 6
14 19 Jan 2024 Lab 7 Lecture 14 Lab 7


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: Ocotober 1, 2023