02220 Lecture Plan

02220 Lecture Plan (2019)

This plan is preliminary and may be changed at any time

Lectures take place in auditorium 21, building 341. Rooms 46 and 47 in building 303A have been reserved for post lecture group activities (project work, exercises, ...)

-->
Lecture Date Lecturer Lecture Content Comments and Material
01 07 Feb Nicola Introduction to the Course
  • Activity plan
  • Exam
  • Project
  • Introduction to Pervasive/Ubiquitous Computing
Introduction to the course, including information about the course activity plan, book, teaching assistants, project and final assessment:
  • Project/Reading

It is recommended to use this time for the project (group, brainstorming)

Recommended reading:
02 14 Feb Nicola Models and Design Challenges
  • Architectural Models
  • Interaction Model
  • Design Challenges
  • Case Study: Design of a Simple Client-Server System

Reference book chapters: 1 and 2

  • Project/Reading

It is recommended to use this time for the project (group, brainstorming)

Recommended reading:
03 21 Feb Nicola Basic Protocols for Distributed Systems
  • Basic Protocols
  • Error Control Mechanisms
  • Exchange of State Information: Handshake Protocols
  • Project/Exercises

It is recommended to use this time for the project (group, brainstorming).

Exercises can be found in the lecture slides.

Recommended reading:
  • R.S. Tomlinson. Selecting Sequence Numbers. In Proceedings of ACM SIGCOMM/SIGOPS Interprocess Communication Workshop, pp 11-23, ACM, 1975.
    This is the original paper in which the three-way handshake protocol was proposed for the first time.
04 28 Feb Nicola Communication Paradigms
  • Interprocess Communication
    • Direct Communication: Sockets Programming
    • Indirect Communication: IP Multicast
  • High Level Communication Abstractions
    • Direct Communication: Remote Invocation
    • Indirect Communication: Message Queues, Tuple Spaces, Publish-Subscribe Systems
Reference book chapters: 4, 5 and 6

  • Project/Exercises/Reading

It is recommended to use this time for the project (group, brainstorming).

Recommended reading:
  • A.D. Birrell and B.J. Nelson. Implementing Remote Procedure Calls. ACM Transactions on Computer Systems, 2(1), pp. 39-59, 1984. This is the original paper in which the RPC concept was first introduced.
05 7 Mar Nicola Middleware
  • Introduction to P2P computing
    • Peer-to-Peer vs. Client/Server
    • Overlay Networks
    • Common Topologies
    • Data Location: flooding, distributed hash tables, superpeers, loosely structured overlays
      • Example: Chord
    • Example: Gnutella Protocol
Reference book chapter: 10

  • Project/Reading

It is recommended to use this time for project work and reading.

Recommended reading:
06 14 Mar Nicola Distributed Algorithms
  • Midterm Course Evaluation
  • Logical Time
    • Clock and Events
    • Logical (Lamport) Clocks
    • Vector Clocks
    • Efficient Implementation of Vector Clocks
Reference book chapters: 14

  • Project/Exercises/Reading
Recommended reading:
07 21 Mar Nicola Distributed Algorithms
  • Global States
Reference book chapters: 14

  • Project/Exercises/Reading
Recommended reading:
08 28 Mar Nicola Distributed Algorithms
  • Coordination and Agreement:
    • Distributed Mutual Exclusion
Reference book chapters: 15

  • Project/Exercises
  • Exercises have been included in the lecture slides
Recommended reading:
  • B. Alpern and F.B. Schneider. Defining Liveness. Information Processing Letters 21, 181-185, 1985.
09 04 Apr Nicola Distributed Algorithms
  • Coordination and Agreement:
    • Multicast Communication
Reference book chapters: 15

  • Project/Exercises/Reading
Recommended reading:
10 11 Apr Nicola Distributed Algorithms
  • Coordination and Agreement:
    • Distributed Elections
    • Consensus and Related Problems
Reference book chapters: 15

  • Project/Exercises/Reading
Recommended reading:
/ Thursday 18 Apr / Easter Holidays
11 25 Apr Nicola Hot Topics
  • Cryptocurrency Technologies
  • Exercise Session / Project
Solution of selected exercises will be discussed in class
  • Solution of exercises 1 and 3 assigned in lecture 7 - Global States
Feedback on projects
12 02 May Michele, Nicola Hot Topics
  • Foundations and Evolution of Modern Computing Paradigms:
    Cloud, IoT, Edge, and Fog Computing
  • AntibIoTic: A Fog-based Anti-Malware for Internet of Things
  • Exercise Session / Project
Recommended reading: Solution of selected exercises will be discussed in class
  • Solution of exercises 1, 4.1, 4.3 assigned in lecture 6 - Logical Time
  • Solution of exercise 4.4 assigned in 2017 exam
Feedback on projects
13 09 May Nicola Final thoughts + Exercise session + Feedback on projects
  • Evaluation, projects, exam, how to work with me
  • Solutions to (requested/selected) exercises
  • Feedback on projects
Solution of selected exercises will be discussed in class
  • Solution of exercise 2 of lecture 7 - Global States
  • Solution of problem 4.3 in exam 2017 (also homework 3 of lecture 9 - Multicast Communication)
  • Solution of problem 5.3 in exam 2018
  • Solution of problem 5.4 in exam 2018 (also homework 2 of lecture 10 - Consensus)
Feedback on projects
/ 12 May / Project Deadline: report (+ source code) have to be submitted electronically through Campusnet before midnight.
/ 16 May / WRITTEN EXAM: GOOD LUCK! :-)