ΠΛΗ 602: Αρχές Κατανεμημένων Συστημάτων Λογισμικού
Μοντέλα και μηχανισμοί επικοινωνίας διεργασιών: sockets, shared memory, ομαδική επικοινωνία, απομακρυσμένες κλήσεις, κατανεμημένα αντικείμενα. Βασικός προγραμματισμός δικτύων. Συνεδρίες. Πρωτόκολλα. Αρχιτεκτονικές κατανεμημένων συστημάτων: πελατών-υπηρετών, πολυεπίπεδη αρχιτεκτονική, διαμεσολαβητές, αποδημία κώδικα, συστήματα πρακτόρων, δίκτυα ομοβάθμων. Ανασκόπηση της αρχιτεκτονικής CORBA, χρήση της CORBA IDL. Ονοματισμός και διευθυνσιοδότηση: Ονόματα, φυσικές και λογικές διευθύνσεις, υπηρεσίες ονομάτων, DNS. Υπηρεσίες καταλόγου, LDAP. Υπηρεσιοστραφής αρχιτεκτονική. Κατανεμημένοι αλγόριθμοι: Μοντέλα. Αλγόριθμο με συντονιστή. Ο χρόνος σε κατανεμημένα συστήματα. Αιτιότητα. Το θεώρημα του Lamport. Ρολόγια Lamport. Ανυσματικά ρολόγια. Καθολική κατάσταση και στιγμιότυπα. Βασικοί αλγόριθμοι χωρίς συντονιστή: Εκλογή ηγέτη, Αμοιβαίος αποκλεισμός, Βυζαντινή συμφωνία. Αλγόριθμοι αναζήτησης: Κατανεμημένες δομές δεδομένων, αναζήτηση σε peer-to-peer networks, distributed hash tables. Αξιοπιστία, Κατανεμημένες συναλλαγές,
ΠΛΗ 622: Ειδικά Θέματα Βάσεων Δεδομένων
Καλύπτει επιλογή από τα ακόλουθα θέματα: Κατασκευαστικά θέματα βάσεων δεδομένων. Κατασκευή σχεσιακών συστημάτων. Κατασκευή οντοκεντρικών συστημάτων. XML βάσεις. Βελτίωση απόδοσης βάσεων δεδομένων. Βελτιστοποίηση απόδοσης εφαρμογών με σχεδιασμό στο φυσικό επίπεδο, βελτιστοποίηση κόστους για συνδιαλλαγές, ανάνηψη, κατανεμημένες βάσεις. Κατανεμημένες βάσεις δεδομένων. Data Warehousing. Data Mining σε βάσεις δεδομένων. Continuous Databases.
ΠΛΗ 627: Προσεγγιστικές Μέθοδοι για Μεγάλες Βάσεις και Ροές Δεδομένων
Τεχνικές για αποτελεσματική συμπίεση μεγάλων όγκων δεδομένων: δειγματοληψία, ιστογράμματα, κυματίδια; Προσεγγιστική επεξεργασία επερωτήσεων; Συνεχείς ροές δεδομένων: βασικά μοντέλα, προβλήματα, και εφαρμογές; Αλγόριθμοι για επεξεργασία ροών δεδομένων: δειγματοληψία ροών (reservoir και min-wise δειγματοληψία), σκίτσα ροών δεδομένων (AMS, FM σκίτσα ροών); Προχωρημένα θέματα: προσεγγιστικές τεχνικές για XML δεδομένα, μέθοδοι για κατανεμημένες ροές δεδομένων, πιθανοτικές βάσεις και ροές δεδομένων, ροές γράφων και κειμένου.