Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Συστήματα Διαδικτύου1 Συστήματα Διαδικτύου (Συστήματα και Δίκτυα Ομοτίμων - Peer-to-Peer Systems/Networks) Καθ. Παναγιώτης Τριανταφύλλου.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Συστήματα Διαδικτύου1 Συστήματα Διαδικτύου (Συστήματα και Δίκτυα Ομοτίμων - Peer-to-Peer Systems/Networks) Καθ. Παναγιώτης Τριανταφύλλου."— Μεταγράφημα παρουσίασης:

1 Συστήματα Διαδικτύου1 Συστήματα Διαδικτύου (Συστήματα και Δίκτυα Ομοτίμων - Peer-to-Peer Systems/Networks) Καθ. Παναγιώτης Τριανταφύλλου

2 Συστήματα Διαδικτύου2 Μέρος I: Εισαγωγή σε P2P Συστήματα

3 Συστήματα Διαδικτύου3 Τι είναι τα Δίκτυα Ομοτίμων;  Συστήματα μεγάλης κλίμακας  Βασίζονται σε overlay networks Λογική τοπολογία – «λογικές» συνδέσεις Κάθε «λογική» σύνδεση είναι στην ουσία ένα μονοπάτι στο (π.χ. tcp/ip) διαδίκτυο Κόμβοι είναι οι ΗΥ των χρηστών  Κλειδιά: Συνεργατικότητα Κοινοκτημοσύνη πόρων

4 Συστήματα Διαδικτύου4 Το Νέο Παράδειγμα: P2P Computing  Το αντίπαλο δέος του πελάτη-εξυπηρετητή (client- server) μοντέλου.  Γιατί; Τεχνικοί λόγοι: Κλιμακωσιμότητα / επεκτασιμότητα / αξιοπιστία (;) / διαθεσιμότητα Απόδοση (;)  Γιατί; Κοινωνικοί λόγοι: Αποφυγή μονοπωλιακών καταστάσεων στη διαχείριση, διάδοση πληροφορίας!  Όλοι οι κόμβοι είναι «ίσοι»: Λειτουργικά (μπορούν, αν θέλουν..) Όλοι είναι πελάτες και εξυπηρετητές ταυτόχρονα  Πρέπει / μπορούν να είναι όλοι ίδιοι ;;;

5 Συστήματα Διαδικτύου5 Οι πόροι ενός P2P Network  Επεξεργαστές στους κόμβους χρηστών  Αποθηκευτικά μέσα στους κόμβους χρηστών  Επικοινωνιακά μέσα (bandwidth)  Αρχεία / πληροφορία  Αξιοποίησε τα παραπάνω για τον επιτυχή διαμοιρασμό/διανομή πληροφορίας (και γενικά «πόρων»).

6 Συστήματα Διαδικτύου6 Αρχιτεκτονική -- Μοντέλα  Η διάσταση της «αγνότητας»: Αμιγή Ρ2Ρ συστήματα (pure)  Όλοι είναι «ίσοι» Υβριδικά (hybrid)  Super-peers, ultra-peers, …  Επιτελούν ξεχωριστές λειτουργίες (καταλόγου, δρομολόγησης,..)  Ίσως > 1 δίκτυα (super-net, …) Βασικές επιπτώσεις: κομψότητα αρχιτεκτονικής εναντίον λειτουργικότητας / πρακτικότητας

7 Συστήματα Διαδικτύου7 Αρχιτεκτονική -- Μοντέλα  Η διάσταση της «δόμησης»: Η ερώτηση κλειδί είναι: υπάρχει κάποια προμελετημένη δομή στην τοπολογία; ή η τοπολογία του δικτύου προκύπτει στην τύχη; π.χ. κάθε νεο-εισερχόμενος κόμβος συνδέεται με τυχαίο τρόπο με κάποιους άλλους ή οι γείτονές του επιλέγονται με βάση κάποια επιθυμητά χαρακτηριστικά  Δομημένα (structured) και Αδόμητα (unstructured) P2P Δίκτυα

8 Συστήματα Διαδικτύου8 Αρχιτεκτονική -- Μοντέλα  Βασικές επιπτώσεις: Αν υπάρχει δομή:  Δρομολόγηση (routing) γίνεται με βάση αυτή την δομή,  Εξασφαλίζεται υψηλή απόδοση – π.χ. O(log N) μηνύματα σε δίκτυο με Ν κόμβους. Αν όχι: Η επικοινωνία  είναι είτε «επιδημική»  στείλε σε όλους τους γείτονες,...αναδρομικά...  πρέπει να αποφύγουμε τις «πλημμύρες» («flooding»)…  Είτε γίνεται με ‘τυχαίους περιπάτους’

9 Συστήματα Διαδικτύου9 Αρχιτεκτονική – Δομημένα Δίκτυα  Κατανεμημένοι Πίνακες Κατακερματισμού -- Distributed Hash Tables -- DHTs: Chord, Pastry, Tapestry, CAN, Kademlia, Bamboo, … Ο χώρος των ονομάτων (αρχείων, κόμβων, κλπ) χωρίζεται σε υπο-χώρους, με βάση μια συνάρτηση Hash -- π.χ. MD5(IP_address,...) Κάθε αντικείμενο (αρχείο, κόμβος) όταν εισέρχεται στο σύστημα συνδέεται με μια ταυτότητα (ID) που είναι η έξοδος της HF. Η ταυτότητα «ορίζει» την θέση του αντικειμένου στην τοπολογία. Οι κόμβοι διατηρούν πίνακες για άλλους κόμβους έτσι ώστε με O(logN) μηνύματα (hops) να εντοπίζουν κατανεμημένα οποιονδήποτε κόμβο/αρχείο. Η δρομολόγηση γίνεται με βάση αυτούς τους πίνακες – ξεκινώντας από τον πίνακα του κόμβου όπου έγινε η αίτηση.

10 Συστήματα Διαδικτύου10 Αρχιτεκτονική – Αδόμητα Δίκτυα  Gnutella, Freenet, Limewire, κ.λπ.  Κάθε κόμβος εισέρχεται στο σύστημα σαν γείτονας κάποιου κόμβου που γνωρίζει.  Οι (routing) πίνακες δρομολόγησης λοιπόν είναι αυτοί οι γείτονες κάθε κόμβου – επαφίεται στην τύχη…  Routing: Flooding, επιδημικοί αλγόριθμοι… «Ορίζοντες» για φράξιμο απόκρισης ερωτήσεων.. Στατιστικές για «καταλληλότητα» μονοπατιών / γειτόνων… Είτε ‘τυχαίοι περίπατοι’...

11 Συστήματα Διαδικτύου11 Κεντρικά Ζητήματα  Εντοπισμός αρχείων και δρομολόγηση αιτήσεων – lookup()/routing: Δοσμένου ενός ID βρες ποιος το ‘χει και στείλε την αίτηση σε αυτόν Απόδοση:  Πόσος χρόνος απαιτείται;  Πόσα μηνύματα;  Πόσο bandwidth (#bytes,…);  Αναζήτηση (searching) Δοσμένων κάποιων κλειδιών, βρες σχετικά αρχεία. Απόδοση: επιπλέον κριτήριο:  Precision/recall: Κοιτώντας τη λίστα με τις απαντήσεις: Recall: Πόσα από τα χρήσιμα αρχεία φέραμε; (#relative records / total # relative records) Precision: Πόσα από αυτά που φέραμε ήταν χρήσιμα; (#relative records / # relative and non-relative records).

12 Συστήματα Διαδικτύου12 Κεντρικά Ζητήματα  Δικαιοσύνη Κατανομή φόρτου, που επιβάλλει το σύστημα για τη:  Δρομολόγηση,  αποθήκευση,  επεξεργασία ερωτημάτων, κλπ Συμπεριφορά χρηστών  εγωιστές  αλτρουιστές  «αλτρουιστές»

13 Συστήματα Διαδικτύου13 Κεντρικά Ζητήματα  Κλιμακωσιμότητα: Μεγάλη / ισομερής κατανομή του φόρτου – όχι κεντρικοποιημένες υπηρεσίες! Μικρό «κόστος» σε κάθε κόμβο:  Επεξεργαστικό  Αποθηκευτικό  Εμπλοκή σε σχετικά μικρό αριθμό αιτήσεων  Μικροί πίνακες (state) για δρομολόγηση, κλπ

14 Συστήματα Διαδικτύου14 Κεντρικά Ζητήματα  Δυναμική συμπεριφορά Τοπολογία (κόμβοι/χρήστες μπαινο- βγαίνουν) Αρχεία μπαινο-βγαίνουν και ενημερώνονται Χαρακτηρηστικά αλλάζουν  των αιτήσεων  των κόμβων  των αρχείων

15 Συστήματα Διαδικτύου15 Κεντρικά Ζητήματα  Λειτουργικότητα / διάδραση: Ερωτήματα “exact-match / equality”: δώσε μου το αντικείμενο με ταυτότητα «docID» Με κλειδολέξεις: όλα τα αντικείμενα που τις περιέχουν … Σύνθετα ερωτήματα (DB-like queries):  Για εύρος τιμών (range queries)  Όταν απαιτούνται συνδέσεις (Joins)  Συναθροιστικές ερωτήσεις (Aggregate:min, max, avg, count, count-distinct, …)

16 Συστήματα Διαδικτύου16 Κεντρικά Ζητήματα  Ανωνυμία: …Ποιος «κατέβασε» μια «ενδιαφέρουσα» ταινία; …Ποιος έγραψε το λίβελο κατά των Bush/Cheney;  Ασφάλεια και εμπιστοσύνη: Επίπεδα εμπιστοσύνης με βάση συμπεριφορά χρηστών (φήμη) Από ποιον να κατεβάσω ένα αρχείο, ποιου τις φωτογραφίες ή τον κώδικα να εμπιστευθώ,...  Παρακολούθηση και έλεγχος ; Συμπεριφορών χρηστών Ιδιοτήτων συστήματος, κλπ

17 Συστήματα Διαδικτύου17 Κεντρικά Ζητήματα  Κρυφές μνήμες Που να μπουν; Τι αρχεία να κρατήσουν; Πως / πότε να εμπλακούν για να βελτιστοποιήσουν την απόδοση; Πόσο συνεπείς πρέπει να είναι;  Ανοχή σε λάθη / σφάλματα / αποτυχίες

18 Συστήματα Διαδικτύου18 Napster: Η Αρχή Περίληψη:  Υπάρχει ένας γνωστός σε όλους κεντρικός κατάλογος με τους peers και τα περιεχόμενα που διαμοιράζονται.  Οι peers αποφασίζουν οι ίδιοι ποιον peer να προσπελάσουν και του στέλνουν την αίτηση.  Ο διαμοιρασμός γίνεται από τους peers  Το δίκτυο σε επίπεδο overlay είναι απλό  Καθολική γνώση!  Κεντρικοποιημένη λειτουργικότητα!  Πλέον δεν θεωρείται καν p2p σύστημα

19 Συστήματα Διαδικτύου19 Gnutella -- Περίληψη  Αποφεύγει τα μειονεκτήματα του Napster  Πλήρως κατανεμημένο (από-κεντρικοποιημένο)  Άρα: searching… ψάξε να βρεις ποιοι έχουν σχετικά αρχεία…  Αναγκαστικά καταλήγει σε flooding: σε κάθε βήμα, η αίτηση που λαμβάνεται από κάποιον γείτονα στέλνεται σε όλους τους γείτονες…  Ορίζοντες: πόσο «βαθιά» στο δίκτυο να γίνει το ψάξιμο (π.χ. πόσα μηνύματα να σταλούν)  διελκυνστίδα: απόδοση εναντίον ποιότητας αποτελεσμάτων.

20 Συστήματα Διαδικτύου20 Freenet -- Περίληψη  Σχεδιάστηκε για βελτίωση του Napster  Αιτήσεις για αρχεία είναι σε στυλ DFS: Επιλέγεις ένα γείτονα και στέλνεις την αίτηση, με ορίζοντα… Αυτός κάνει το ίδιο Αν δεν έχει καλή απάντηση, επιλέγει άλλον γείτονα και επαναλαμβάνει τη διαδικασία Σε κάθε επιστροφή, κάθε ενδιάμεσος κόμβος αποθηκεύει το αρχείο που επιστρέφεται (caching). «Small-world effect» !  Παρέχει ανωνυμία! (δεν ξέρεις ποιος έστειλε την απάντηση…)!

21 Συστήματα Διαδικτύου21 Υβριδικές Αρχιτεκτονικές -- Περίληψη  ΚαΖΑα/FastTrack, Morheus/FastTrack, …  2 ειδών κόμβοι (superpeers και peers)  Superpeers: Παρέχουν κεντρικές υπηρεσίες (κατάλογοι, κρυφές μνήμες, ή/και αντίγραφα αρχείων)  Peers (απλοί κόμβοι: Συνεισφέρουν (αρχικά) αντίγραφα αρχείων  Δρομολόγηση: δώσε την αίτηση σε κάποιον superpeer  Οι superpeers μπορεί να έχουν όλη την πληροφορία, ή να είναι και αυτοί συνδεδεμένοι σε ένα δικό τους overlay.  Το superpeer overlay μπορεί να έχει αντίγραφα όλων των αρχείων, ή να χρησιμοποιείται μόνο για δρομολόγηση αιτήσεων σε κάποιον peer που έχει αντίγραφο.  Νέοι κόμβοι: ενημέρωσε/ρώτα κάποιον super


Κατέβασμα ppt "Συστήματα Διαδικτύου1 Συστήματα Διαδικτύου (Συστήματα και Δίκτυα Ομοτίμων - Peer-to-Peer Systems/Networks) Καθ. Παναγιώτης Τριανταφύλλου."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google