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

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

CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.

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


Παρουσίαση με θέμα: "CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης."— Μεταγράφημα παρουσίασης:

1 CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης Χαρά Παπαγεωργίου Νικόλαος Κοκκίνης Μενέλαος Μαρκουλάκης Γεώργιος Λίτσιος

2 Εισαγωγή Ζητούμενο στα p2p η αποτελεσματική αναζήτηση των κόμβων και των δεδομένων. Λύση προσφέρει το CHORD  Κατανεμημένο, scalable πρωτόκολλο αναζήτησης.  Βασική λειτουργία: Αντιστοίχηση κλειδιών (δεδομένων) σε κόμβους.

3 Κατασκευή Χρησιμοποιούμε μια hash function για να αντιστοιχίσουμε κάθε κόμβο και κάθε δεδομένο σε ένα id μήκους m bits. Οι κόμβοι τοποθετούνται σε έναν δακτύλιο 2 m θέσεων ανάλογα με το id τους. Τα κλειδιά (δεδομένα) τοποθετούνται στον πρώτο κόμβο που βρίσκεται σε θέση ≥ του id τους (successor node).

4 Δρομολόγηση Ο κάθε κόμβος διατηρεί ένα δείκτη στον επόμενό του  Εξασφαλίζεται έτσι η εύρεση όλων των δεδομένων  Πρόβλημα: Πολυπλοκότητα Ο(n) Ελάττωση πολυπλοκότητας σε Ο(logn) με τη δημιουργία των finger tables.

5 Finger Tables To finger table του κόμβου n περιέχει το πολύ m καταχωρήσεις Η i-οστή εγγραφή περιέχει τον πρώτο κόμβο που απέχει απόσταση τουλάχιστον 2 i-1 από τον n, 1 ≤ i ≤ m.  Π.χ. για τον κόμβο 0: = = =4 successor(1)=1 successor(2)=3 successor(4)=0

6 Αναζήτηση  Παράδειγμα:  Ερώτηση στον κόμβο 3 για το κλειδί 1.  Προσπαθούμε να εντοπίσουμε τον predecessor(id)  εδώ τον predecessor(1), δηλ. τον 0  Επειδή 1 (3, 3.successor] ο 3 δεν είναι ο ζητούμενος.  Ο 3 ψάχνει στο finger table του τον πιο κοντινό κόμβο που γνωρίζει για το 1.  εδώ αυτός είναι ο 0  Η ερώτηση προωθείται εκεί.  Επειδή 1 (0, 0.successor] o 0 είναι ο ζητούμενος.  Άρα το κλειδί ένα είναι αποθηκευμένο στον 0.successor, δηλ. στον 1

7 Εισαγωγή κόμβων Κατά την εισαγωγή νέων κόμβων στο δίκτυο πρέπει να εξασφαλίζεται ότι:  Ο κάθε κόμβος διατηρεί το σωστό successor.  Κάθε κλειδί k είναι αποθηκευμένο στον κόμβο successor(k). Είναι επιθυμητή και η ορθή διατήρηση των finger tables για επιτάχυνση των αναζητήσεων. Οι παραπάνω ιδιότητες πρέπει να ισχύουν και για την διαγραφή κόμβων.

8 Εισαγωγή κόμβων Κατά την εισαγωγή ενός κόμβου πρέπει να γίνουν τα εξής:  Σύνδεση του νέου κόμβου στο δίκτυο και αρχικοποίηση του finger table του.  Ενημέρωση των finger tables των υπόλοιπων κόμβων.  Ενημέρωση του software του ανώτερου επιπέδου για τη σωστή μεταφορά δεδομένων στο νέο κόμβο.

9 Παράδειγμα Εισαγωγή κόμβου 6 Αρχικοποίηση: Υποθέτουμε ότι ο προς εισαγωγή κόμβος γνωρίζει έναν κόμβο του συστήματος, έστω n’. O 6 μαθαίνει τους γειτονικούς του κόμβους ρωτώντας τον n’. Υπολογίζει τις στήλες start και interval και συμπληρώνει τη στήλη successor κάνοντας αναζητήσεις μέσω του n’.

10 Παράδειγμα Εισαγωγή κόμβου 6 Ενημέρωση: Ενημέρωση των finger tables που πρέπει να περιέχουν τον 6 ως successor. Αλλάζουμε το i-οστό finger ενός κόμβου p αν:  Ο p προηγείται του 6 τουλάχιστον κατά 2 i-1  Tο i-στό finger του p έχει τιμή successor μεγαλύτερη του 6

11 Παράδειγμα Εισαγωγή κόμβου 6 Μεταφορά: Με την εισαγωγή του νέου κόμβου μεταφέρονται τα κλειδιά για τα οποία πλέον είναι υπεύθυνος ο 6  Στο παράδειγμα βλέπουμε τη μεταφορά του κλειδιού 6 Τα κλειδιά μεταφέρονται στον 6 από έναν μόνο κόμβο, τον successor(6).

12 Διαγραφή κόμβων Διαγραφή κόμβου 1 Μεταφορά των κλειδιών του κόμβου 1 στον κόμβο successor(1) = 3 Ενημέρωση των finger tables  Εδώ ενημερώνεται η πρώτη εγγραφή του finger table του κόμβου 0


Κατέβασμα ppt "CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης."

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


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