Κατανεμημένα Συστήματα

Κωδικός Μαθήματος: Ν2-6060Α
Εβδομαδιαίες ώρες διδασκαλίας: 4 (2Θ + 2Ε)
Πιστωτικές μονάδες: 5
Τυπικό εξάμηνο διδασκαλίας: 6ο
Κατηγορία μαθήματος: Μάθημα Ειδικότητας
Προαπαιτούμενα:  

Μαθησιακά αποτελέσματα

Το μάθημα αποσκοπεί στην παρουσίαση των βασικών εννοιών της κατανεμημένης επεξεργασίας και των αρχών και συνιστωσών των κατανεμημένων συστημάτων ώστε οι φοιτητές να κατανοήσουν τις τεχνολογίες που τα διέπουν και τον τρόπο αποδοτικής αξιοποίησης των υπηρεσιών που προσφέρουν. Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής:

  • Θα μπορεί να περιγράψει τις βασικές λειτουργίες ενός κατανεμημένου συστήματος.
  • Θα έχει κατανοήσει τις βασικές έννοιες και τεχνικές/μηχανισμούς συγχρονισμού και επικοινωνίας που χρησιμοποιούνται στα σύγχρονα κατανεμημένα συστήματα.
  • Θα γνωρίζει τις τεχνικές κατανομής πόρων, δεδομένων και εργασιών σε υπολογιστικά συστήματα συνεργαζόμενα μέσω δικτύου και τους αναγκαίους μηχανισμών συγχρονισμού και ελέγχου της επικοινωνίας.
  • Θα διαθέτει κατάλληλη θεωρητική και πρακτική υποδομή έτσι ώστε να μπορεί να ανταποκριθεί στις απαιτήσεις των σύγχρονων τάσεων σχεδιασμού, ανάπτυξης και υποστήριξης κατανεμημένων συστημάτων και εφαρμογών.

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

Θεωρητικό Μέρος:

  • Βασικές Έννοιες Κατανεμημένων Συστημάτων, Κατανεμημένη Επεξεργασία, Ενδιάμεσο Λογισμικό, Υπηρεσίες Ενδιάμεσου Λογισμικού
  • Οργάνωση Κατανεμημένων Συστημάτων (Μοντέλο Πελάτη-Διακομιστή (clientserver), Ομότιμα Συστήματα (P2Psystems)
  • Επικοινωνία στα Κατανεμημένα Συστήματα, Κλήση Απομακρυσμένων Διαδικασιών (DCERPC), Απομακρυσμένα Αντικείμενα, Κλήση Απομακρυσμένων Μεθόδων (JavaRMI), Μηνυματοστρεφής Επικοινωνία, Ρευματοστρεφής Επικοινωνία
  • Διάταξη Γεγονότων, Συγχρονισμός, Λογικά Ρολόγια, Αλγόριθμοι Εκλογής Αρχηγού, Αλγόριθμοι Αμοιβαίου Αποκλεισμού, Κατανεμημένες Συναλλαγές
  • Ανοχή σε βλάβες, Μοντέλα Αστοχιών, Συγκάλυψη αστοχιών μέσω υπερεπάρκειας, Συγκάλυψη Αστοχιών και Αναπαραγωγή
  • Συμφωνία σε Kατανεμημένα Συστήματα με Σφάλματα, Κατανεμημένη Δέσμευση, Ανάκαμψη από Σφάλματα
  • Κατανεμημένα Συστήματα Αρχείων. Υπηρεσίες Ονομάτων και Καταλόγου.

Εργαστηριακό Μέρος:

Βασικές ασκήσεις στο client-server μοντέλο επικοινωνίας, Ενδιάμεσο λογισμικό – JavaRMI, Υλοποίηση Αλγορίθμων Αμοιβαίου Αποκλεισμού και Εκλογής Αρχηγού.

Βιβλιογραφία
  1. Tanenbaum A.S., Van Steen M., Κατανεμημένα Συστήματα: Αρχές και Παραδείγματα, Εκδόσεις Κλειδάριθμος, 2005.
  2. Κάβουρας Ι.Κ., Μήλης Ι.Ζ., Ξυλωμένος Γ.Β., Ρουκουνάκη Α.Α., Κατανεμημένα Συστήματα με Java, 2η έκδοση, Εκδόσεις Κλειδάριθμος, 2005.
  3. Coulouris G., Dollimore J., Kindberg T., Distributed Systems, Concepts and Design, 4th ed., Addison-Wesley, 2005.
  4. Lynch N.A., Distributed Algorithms, Morgan Kaufmann, 1997.
  5. Tel G., Introduction to Distributed Algorithms, 2nd ed.,CambridgeUniversity Press, 2001.
  6. Attiya H., Welch J., Distributed Computing Fundamentals, Simulations, and Advanced Topics, 2nd ed., McGraw-Hill, 2004.
  7. Henning M.,Vinoski S., Advanced CORBA Programming with C++, Addison-Wesley, 2000.
  8. Brose G., Java Programming with CORBA: Advanced Techniques for Building Distributed Applications, Wiley, 2001.
  9. Sotomayor B., Childers L., GLOBUS Toolkit 4: Programming Java Services, The Elsevier Series in Grid Computing, Morgan Kaufmann, 2005.

Internationalisation I18n