Κινητά και Διάχυτα Συστήματα - Open Courses (INF103)
Γεώργιος Ξυλωμένος
Στο μάθημα καλύπτονται οι βασικές έννοιες κινητού και διάχυτου υπολογισμού με έμφαση στη σχεδίαση και υλοποίηση τέτοιων συστημάτων. Αφού γίνει μια εισαγωγή στα βασικά θέματα των κατανεμημένων συστημάτων (μοντέλα οργάνωσης, κατανομή φόρτου και αντιμετώπιση σφαλμάτων), καλύπτονται τα βασικά θέματα υλοποίησής τους (δικτύωση, πολυνημάτωση, απομακρυσμένη κλήση αντικειμένων, συστήματα κινητών πρακτόρων). Στη συνέχεια παρουσιάζονται οι βασικές έννοιες των κινητών συστημάτων σε επίπεδο επικοινωνίας και επίδοσης (αρχές κυψελικής επικοινωνίας, ασύρματα σφάλματα και συμπεριφορά τεχνολογιών IP). Τέλος, καλύπτονται οι βασικές έννοιες των συστημάτων ομοτίμων (δομημένα και αδόμητα συστήματα, δρομολόγηση) και οι εφαρμογές τους (αναζήτηση και διανομή περιεχομένου, πολυεκπομπή, κατανεμημένη αποθήκευση).
Το πρακτικό μέρος του μαθήματος επικεντρώνεται στις δυνατότητες που δίνει η Java για τον προγραμματισμό κατανεμημένων συστημάτων και στην υλοποίηση εφαρμογών στο περιβάλλον του λειτουργικού συστήματος Android. Η προγραμματιστική εργασία του μαθήματος αφορά την κατασκευή ενός συστήματος διάχυτου υπολογισμού με Java σε περιβάλλον Android.
Λιγότερα
Στο μάθημα καλύπτονται οι βασικές έννοιες κινητού και διάχυτου υπολογισμού με έμφαση στη σχεδίαση και υλοποίηση τέτοιων συστημάτων. Αφού γίνει μια εισαγωγή στα βασικά θέματα των κατανεμημένων συστημάτων (μοντέλα οργάνωσης, κατανομή φόρτου και αντιμετώπιση σφαλμάτων), καλύπτονται τα βασικά θέματα υλοποίησής τους (δικτύωση, πολυνημάτωση, απομακρυσμένη κλήση αντικειμένων, συστήματα κινητών πρακτόρων). Στη συνέχεια παρουσιάζονται οι βασικές έννοιες των κινητών συστημάτων σε επίπεδο επικοινωνίας και επίδοσης (αρχές κυψελικής επικοινωνίας, ασύρματα σφάλματα και συμπεριφορά τεχνολογιών IP). Τέλος, καλύπτονται οι βασικές έννοιες των συστημάτων ομοτίμων (δομημένα και αδόμητα συστήματα, δρομολόγηση) και οι εφαρμογές τους (αναζήτηση και διανομή περιεχομένου, πολυεκπομπή, κατανεμημένη αποθήκευση).
Το πρακτικό μέρος του μαθήματος επικεντρώνεται στις δυνατότητες που δίνει η Java για τον προγραμματισμό κατανεμημένων συστημάτων και στην υλοποίηση εφαρμογών στο περιβάλλον του λειτουργικού συστήματος
Στο μάθημα καλύπτονται οι βασικές έννοιες κινητού και διάχυτου υπολογισμού με έμφαση στη σχεδίαση και υλοποίηση τέτοιων συστημάτων. Αφού γίνει μια εισαγωγή στα βασικά θέματα των κατανεμημένων συστημάτων (μοντέλα οργάνωσης, κατανομή φόρτου και αντιμετώπιση σφαλμάτων), καλύπτονται τα βασικά θέματα υλοποίησής τους (δικτύωση, πολυνημάτωση, απομακρυσμένη κλήση αντικειμένων, συστήματα κινητών πρακτόρων). Στη συνέχεια παρουσιάζονται οι βασικές έννοιες των κινητών συστημάτων σε επίπεδο επικοινωνίας και επίδοσης (αρχές κυψελικής επικοινωνίας, ασύρματα σφάλματα και συμπεριφορά τεχνολογιών IP). Τέλος, καλύπτονται οι βασικές έννοιες των συστημάτων ομοτίμων (δομημένα και αδόμητα συστήματα, δρομολόγηση) και οι εφαρμογές τους (αναζήτηση και διανομή περιεχομένου, πολυεκπομπή, κατανεμημένη αποθήκευση).
Το πρακτικό μέρος του μαθήματος επικεντρώνεται στις δυνατότητες που δίνει η Java για τον προγραμματισμό κατανεμημένων συστημάτων και στην υλοποίηση εφαρμογών στο περιβάλλον του λειτουργικού συστήματος
Στην παρούσα ενότητα περιλαμβάνονται εισαγωγικές έννοιες του μαθήματος όπως η κατανόηση των διαφόρων τύπων συστημάτων πολλών επεξεργαστών και του λογισμικού συστήματος που χρησιμοποιούν, η εξοικείωση με τις αρχές σχεδίασης και τις παρεχόμενες υπηρεσίες των κατανεμημένων συστημάτων, και τέλος, η κατανόηση των βασικών μοντέλων οργάνωσης κατανεμημένων συστημάτων (μοντέλο πελάτη-εξυπηρετητή και μοντέλο ομοτίμων).
Λέξεις κλειδιά: Διαφάνεια, κλιμάκωση, πελάτης-εξυπηρετητής, συστήματα ομοτίμων.
Η ενότητα ξεκινά με επανάληψη των βασικών πρωτοκόλλων επικοινωνίας και της έννοιας των υποδοχών, υποδοχές στην Java, και θέματα εξοικείωσης με την λειτουργικότητα και την υλοποίηση των απομακρυσμένων κλήσεων. Στη συνέχεια καλύπτει την έννοια των νημάτων και των διεργασιών, καθώς και τους μηχανισμούς διαχείρισης και συγχρονισμού νημάτων της Java. Τέλος, περιγράφονται τα μοντέλα απομακρυσμένων αντικειμένων και το μοντέλο απομακρυσμένων αντικειμένων και κλήσεων Java RMI.
Λέξεις κλειδιά: Υποδοχές, σειριακοποίηση, RPC, νήματα, ταυτοχρονισμός, αντικείμενα, Java RMI.
Η παρούσα ενότητα περιέχει υλικό για την έννοια του πίνακα κατακερματισμού και της κατανεμημένης μορφής του (DHT), με έμφαση στα συστήματα Chord και Pastry. Τα επί μέρους θέματα που παρουσιάζονται, αφορούν τη πολυεκπομπή μέσω DHT (σύστημα Scribe), την αποθήκευση ολόκληρων αρχείων (σύστημα PAST) και ομάδων αρχείων (σύστημα CFS).
Λέξεις κλειδιά: Κατανεμημένοι πίνακες κατακερματισμού, DHT, Chord, Pastry, πολυεκπομπή, αποθήκευση, Scribe, Pastry, CFS.
Στη παρούσα ενότητα θα βρείτε υλικό που αφορά τη κατανόηση των βασικών ζητημάτων και τεχνικών στην αναζήτηση αρχείων σε ομότιμα συστήματα (εξυπηρετητές, πλημμύρα, ημιδομημένα δίκτυα), και τη κατανόηση του προβλήματος της ανταλλαγή αρχείων στα ομότιμα συστήματα και εξοικείωση με το σύστημα BitTorrent.
Λέξεις κλειδιά: Napster, Gnutella, Kazaa, BitTorrent.
Στην ενότητα αυτή καλύπτονται μια σειρά ζητημάτων κατανεμημένης επεξεργασίας. Αρχικά, παρουσιάζεται το πρόβλημα της εκλογής αρχηγού και μια σειρά αλγορίθμων εκλογής για διαφορετικές τοπολογίες. Στη συνέχεια καλύπτονται και οι έννοιες της βλάβη, του σφάλματος και της αποτυχίας, οι βασικές τεχνικές ανοχής βλαβών μέσω πλεονασμού, παραγωγής αντιγράφων και αποκατάστασης, καθώς και τα προβλήματα κατανεμημένης συμφωνίας. Τέλος, εξετάζονται διαφορετικά μοντέλων οργάνωσης πόρων στα κατανεμημένα συστήματα, γίνεται εισαγωγή στις πολιτικές καταχώρισης επεξεργαστών και τις βασικές τους κατηγορίες (εξισορρόπησης φόρτου και καταμερισμού φόρτου) και καλύπτεται η έννοια και οι βασικές τεχνικές μετεγκατάστασης κώδικα.
Λέξεις κλειδιά: Εκλογή αρχηγού, σφάλμα, βλάβη, αποτυχία, ενεργητική παραγωγή, παθητική παραγωγή, αποκατάσταση, συμφωνία, καταμερισμός φόρτου, εξισορρόπηση φόρτου, μετεγκατάσταση κώδικα.
Η ενότητα περιέχει θέματα κατανόησης της διάκρισης ανάμεσα στα κινητά και τα ασύρματα συστήματα, με εισαγωγή στα βασικά χαρακτηριστικά των κινητών και ασύρματων συστημάτων. Επίσης, περιλαμβάνει τη κατανόηση του τρόπου λειτουργίας του TCP και των προβλημάτων που αντιμετωπίζει στα κινητά και ασύρματα συστήματα, καθώς και μεθόδους βελτίωσης του TCP.
Λέξεις κλειδιά: Κινητά, ασύρματα, έλεγχος προσπέλασης, επίδοση TCP.
Η ενότητα αυτή καλύπτει μηχανισμούς για επικοινωνία σε υψηλότερο επίπεδο από ότι μέσω υποδοχών ή RMI. Αρχικά καλύπτεται η έννοια και οι εφαρμογές του μηνυματοστρεφούς ενδιάμεσου λογισμικού, και παρουσιάζονται τα πρότυπα διεπαφής υπηρεσίας μηνυμάτων της Java και το προηγμένο πρωτόκολλο αναμονής μηνυμάτων για μηνυματοστρεφές ενδιάμεσο λογισμικό. Στη συνέχεια ασχολούμαστε με τη φύση και τη χρησιμότητα των υπηρεσιών Ιστού, τις προσεγγίσεις σχεδιασμού και υλοποίησης υπηρεσιών Ιστού, καθώς και τις προσεγγίσεις υλοποίησης βασισμένες στο SOAP, στο στυλ REST, και τη σύγκριση των προσεγγίσεων αυτών.
Λέξεις κλειδιά: Μηνυματοστρεφές ενδιάμεσο λογισμικό, υπηρεσία μηνυμάτων Java, προηγμένο πρωτόκολλο αναμονής μηνυμάτων, MOM, JMS, AMQP, υπηρεσίες Ιστού, γλώσσα περιγραφής υπηρεσιών Ιστού, WSDL, SOAP, REST.
Ανοικτό Ακαδ. Μάθημα
Αρ. Επισκέψεων : 1547
Αρ. Προβολών : 29130
Ημερολόγιο
Ανακοινώσεις
- - Δεν υπάρχουν ανακοινώσεις -