Περιεχόμενο μαθήματος

Περιεχόμενο μαθήματος

Εισαγωγή, μη συγκεντρωτικά συστήματα, στόχοι και υπηρεσίες κατανεμημένων συστημάτων, μοντέλο πελάτη-εξυπηρετητή, μοντέλο ομοτίμων. Εκλογή αρχηγού. Ατομικές συναλλαγές. Μηχανισμοί επικοινωνίας, απομακρυσμένη κλήση διαδικασιών, δικτύωση στην Java. Ταυτοχρονισμός και νήματα, νήματα στην Java. Κατανεμημένα συστήματα αντικειμένων, Java RMI.  Θέματα ασφάλειας, ασφάλεια στην Java. Κατανεμημένοι πίνακες κατακερματισμού, συστήματα Chord, Pastry και Scribe. Κατανεμημένα συστήματα ονομασίας, ονομασία οντοτήτων, υπηρεσίες ονομασίας, ευρετηρίων και εντοπισμού οντοτήτων. Κατανεμημένα συστήματα αποθήκευσης, συστήματα NFS και AFS, συστήματα PAST και CFS. Μηνυματοστρεφές ενδιάμεσο λογισμικό. Υπηρεσίες Ιστού.

Διδάσκοντες

Διδάσκοντες

Γεώργιος Ξυλωμένος

Αναπληρωτής Καθηγητής, Τμήμα Πληροφορικής

 

Σπουδές

  • Πτυχιούχος του τμήματος Εφαρμοσμένης Πληροφορικής, Οικονομικό Πανεπιστήμιο Αθηνών (1993)
  • Μεταπτυχιακό δίπλωμα Επιστήμης Υπολογιστών, University of California, San Diego (1996)
  • Διδακτορικό δίπλωμα Επιστήμης Υπολογιστών, University of California, San Diego (1999)

 

Επικοινωνία

Πτέρυγα Αντωνιάδου, 4ος όροφος, τηλέφωνο +30 2108203115, email xgeorge AT aueb.gr

 

Ιστοσελίδα

Προαπαιτούμενα

Προαπαιτούμενα

  • Δίκτυα Υπολογιστών
  • Προγραμματισμός Υπολογιστών με Java
  • Λειτουργικά Συστήματα

Μέθοδοι αξιολόγησης

Μέθοδοι αξιολόγησης

Κάθε φοιτητής ή ομάδα φοιτητών θα εκπονήσει μία προγραμματιστική εργασία η οποία θα αξιολογηθεί μέσω επίδειξης των αποτελεσμάτων και γραπτής αναφοράς.

 

Ο τελικός βαθμός του μαθήματος υπολογίζεται ως εξής:

  • 40% προγραμματιστική εργασία
  • 60% τελικές εξέτασεις

Ομάδα στόχος

Ομάδα στόχος

Προπτυχιακοί φοιτητές τμήματος Πληροφορικής.

Μαθησιακοί στόχοι

Μαθησιακοί στόχοι

  • Κατανόηση της φύσης των κατανεμημένων συστημάτων
  • Εξοικείωση με τις προσφερόμενες δυνατότητες
  • Κατανόηση των βασικών προβλημάτων υλοποίησης
  • Εξοικείωση με κατάλληλα περιβάλλοντα προγραμματισμού

Προτεινόμενα συγγράμματα

Προτεινόμενα συγγράμματα

  • Ι. Κάβουρας, Ι. Μήλης, Γ. Ξυλωμένος, Α. Ρουκουνάκη, «Κατανεμημένα Συστήματα με Java», 3η έκδοση, Κλειδάριθμος, 2011.
  • A.S. Tanenbaum, M. Van Steen, “Distributed Systems: Principles and Paradigms”, 2nd edition, Prentice Hall, 2006 (στα Ελληνικά διατίθεται η 1η έκδοση).
  • J.F. Buford, H. Lu, E.K. Lua, “P2P Networking and Applications”, Morgan Kaufman, 2009.
  • R. Steinmetz, Κ. Wehrle (eds), “Peer-to-Peer Systems and Applications”, LNCS 3485, Springer, 2005.

Βιβλιογραφία

Βιβλιογραφία

  • Ιστοσελίδες συγγραμμάτων
    • Ιστοσελίδα βιβλίου Κατανεμημένα Συστήματα με Java
      • Εικόνες και παρουσιάσεις από το βιβλίο, κώδικας των προγραμμάτων.
    • Ιστοσελίδα βιβλίου Distributed Systems: Principles and Paradigms
      • Παρουσιάσεις από το βιβλίο
  • Παρόμοια ανοιχτά μαθήματα
    • Μάθημα Distributed Computer Systems Engineering (MIT)
      • Ανοιχτό υλικό μαθήματος με ανάλογο περιεχόμενο.
    • Μάθημα Cloud Computing Concepts (Coursera)
      • Ανοιχτό δικτυακό μάθημα από το University of Illinois at Urbana-Champaign.
  • Υλικό εργαστηρίων και εργασιών
    • Ιστοσελίδα του Chord
      • Ιστοσελίδα της αρχικής υλοποίησης του Chord από το MIT.
    • Ιστοσελίδα του Open Chord
      • Υλοποίηση του Chord σε Java.
  • Ηλεκτρονικές πηγές βιβλιοθήκης ιδρύματος
    • IEEE Transactions on Parallel and Distributed Systems
      • Επιστημονικό περιοδικό για τα κατανεμημένα και παράλληλα συστήματα της IEEE.
    • Springer Distributed Computing
      • Επιστημονικό περιοδικό για τα κατανεμημένα συστήματα της Springer.
    • Elsevier Journal of Parallel and Distributed Computing
      • Επιστημονικό περιοδικό για παράλληλο και κατανεμημένο υπολογισμό της Elsevier.

Μέθοδοι διδασκαλίας

Μέθοδοι διδασκαλίας

Διδασκαλία με διαλέξεις.

Πρακτική άσκηση στο εργαστήριο υπολογιστών.