1 / 82

Peer-to-Peer Τεχνικές Ευρετηρίασης

Peer-to-Peer Τεχνικές Ευρετηρίασης. Λέκτορας Τσίχλας Κωνσταντίνος. Τι θα Πούμε. Τι είναι; Μοντέλα CHORD …. Τι είναι P2P?. Είναι μία τεχνολογία που επιτρέπει κάθε συσκευή σε ένα δίκτυο να παρέχει υπηρεσίες σε κάθε άλλη συσκευή στο δίκτυο

kaili
Télécharger la présentation

Peer-to-Peer Τεχνικές Ευρετηρίασης

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Peer-to-Peer Τεχνικές Ευρετηρίασης Λέκτορας Τσίχλας Κωνσταντίνος

  2. Τι θα Πούμε • Τι είναι; • Μοντέλα • CHORD • …

  3. Τι είναι P2P? • Είναι μία τεχνολογία που επιτρέπει κάθε συσκευή σε ένα δίκτυο να παρέχει υπηρεσίες σε κάθε άλλη συσκευή στο δίκτυο • Ένας ομότιμος (peer)σε ένα P2P δίκτυοεμφανίζεται τόσο σαν πελάτης όσο και σαν εξυπηρετητής σε σχέση με την παραδοσιακή αρχιτεκτονική πελάτη/εξυπηρετητή

  4. P2P Συστήματα • Κατανεμημένη εφαρμογή όπου οι κόμβοι είναι: • Αυτόνομοι • Πολύ χαλαρά συνδεδεμένοι • Ίσοι σε ρόλο και δυναμικότητα??? • Διαμοιράζονται και ανταλλάσσουν πόρους μεταξύ τους

  5. Αντίστοιχοι Όροι • Διαμοίραση Αρχείων • π.χ.: Napster, Gnutella,Kaaza, E-Donkey,BitTorrent, FreeNet,LimeWire, Morpheus • Grid Computing • Autonomic Computing

  6. P2P Τοπολογίες • Κεντρικοποιημένη • Δακτύλιος • Ιεραρχική • Αποκεντρικοποιημένη • Υβριδική

  7. Αξιολόγηση Τοπολογιών • Διαχειρισιμότητα • Πόσο δύσκολη είναι η διαχείρισή του; • Συνεκτική Πληροφορία • Πόσο κεντρικοποιημένη είναι η πληροφορία; • Επεκτασιμότητα • Πόσο εύκολο είναι να αυξηθεί η πληροφορία; • Ανεκτικότητα σε Σφάλματα • Πόσο εύκολα μπορεί να διαχειρισθεί σφάλματα;

  8. Αξιολόγηση Τοπολογιών • Αντίσταση σε νομική ή πολιτική παρέμβαση • Πόσο εύκολο είναι να το κλείσεις; (μπορεί να είναι κακό ή καλό) • Ασφάλεια • Πόσο δύσκολη είναι η υπονόμευση; • Μεταβλητότητα • Πόσο μεγάλο μπορεί να γίνει;

  9. Διαχειρίσιμο Συνεκτικό Επεκτάσιμο Ανεκτικό σε Λάθη Ασφαλές Νομική Παρέμβαση Μεταβλητό Το σύστημα σε ένα μέρος Όλη η πληροφορία σε ένα μέρος Κανείς δεν μπορεί να προσθέσει στο σύστημα Μοναδικό σημείο σφάλματος Ασφάλεια σε μία οντότητα Εύκολο να το κλείσεις Μία μηχανή. Στην πράξη; Κεντρικοποιημένο

  10. Αλυσίδα Ιεραρχίας Κρυφές μνήμες Πρόσθεση φύλλων, επαναζύγιση Η ρίζα είναι ευάλωτη Εύκολο να κάνεις spoofing στις ακμές Απλά κλείνουμε τη ρίζα Άνετα – DNS Ιεραρχικό Διαχειρίσιμο Συνεκτικό Επεκτάσιμο Ανεκτικό σε Λάθη Ασφαλές Νομική Παρέμβαση Μεταβλητό

  11. Πολύ δύσκολο, πολλοί κάτοχοι Δύσκολο, αναξιόπιστοι peer Όποιος θέλει μπαίνει! Πλεονασμός Δύσκολο, ερευνητικά ανοικτό Ποιόν θα μηνύσεις; Θεωρητικά – ΝΑΙ: Πρακτικά– έτσι και έτσι Αποκεντρικοποιημένο Διαχειρίσιμο Συνεκτικό Επεκτάσιμο Ανεκτικό σε Λάθη Ασφαλές Νομική Παρέμβαση Μεταβλητό

  12. Ίδιο όπως το αποκεντρικοποιημένο Καλύτερο από το αποκεντρικοποιημένο Όποιος θέλει μπαίνει! Πλεονασμός Ίδιο όπως το αποκεντρικοποιημένο Δεν υπάρχει κανείς να κάνεις μήνυση Φαίνεται ελπιδοφόρο Κεντρικοποιημένο+ Αποκεντρικοποιημένο Διαχειρίσιμο Συνεκτικό Επεκτάσιμο Ανεκτικό σε Λάθη Ασφαλές Νομική Παρέμβαση Μεταβλητό Καλύτερη αρχιτεκτονική για P2P;

  13. Γιατί P2P? • Το διαδίκτυο έχει 3 θεμελιώδη περιουσιακά στοιχεία • Πληροφορία • Υπολογιστικούς Πόρους • Εύρος ζώνης • Όλα αυτά δεν χρησιμοποιούνται πλήρως και ένας λόγος που γίνεται αυτό είναι το παραδοσιακό μοντέλο εξυπηρετητή/πελάτη

  14. Γιατί P2P? • Πρώτον, καμία μηχανή αναζήτησης δεν μπορεί να διαχειρισθεί τον συνεχώς αυξανόμενο όγκο πληροφορίας στο Web μέσα σε λογικά χρονικά πλαίσια • Επιπλέον, μεγάλος όγκος πληροφορίας είναι παροδικός και άρα δεν μπορούμε να τον βρούμε με τενχικέςWeb crawling • Η Google ισχυρίζεται ότι ψάχνει περίπου 1.3x108 σελίδες • Η εύρεση χρήσιμης πληροφορίας σε πραγματικό χρόνο θα γίνεται ολοένα δυσκολότερη!

  15. Γιατί P2P? • Το διαθέσιμο εύρος ζώνης λόγω οπτικών ινών χρησιμοποιείται ελάχιστα αν όλοι συνεχίζουν να πηγαίνουν στο Yahoo για περιεχόμενο ή στο eBay • Αντί αυτού, τα σημεία συμφόρησης (hot spots) επιβαρύνονται ενώ η χρήση του εύρους ζώνης μειώνεται Internet

  16. Γιατί P2P? • Δεν υπάρχει πια μοναδικό σημείο συμφόρησης • Τα P2P μπορούν να χρησιμοποιηθούν για κατανομή δεδομένων και ελέγχου σε όλο το δίκτυο • Δεν υπάρχει πια κίνδυνος λόγω μοναδικού σημείου κατάρρευσης • Η P2P υποδομή, επιτρέπει άμεση προσπέλαση και διαμοιραζόμενο χώρο, και άρα υπάρχουν δυνατότητες απομακρυσμένης διαχείρισης

  17. Βασικά P2P Στοιχεία • Ομότιμοι: • Ένας ομότιμος είναι ένας κόμβος του P2P δικτύου και είναι ο θεμελιώδης πυρήνας υπολογισμού. • Κάθε ομότιμος έχει μία μοναδική ταυτότητα (ID) • Κάθε ομότιμος ανήκει σε μία ή περισσότερες ομάδες ομότιμων • Κάθε ομότιμος μπορεί να επικοινωνεί με άλλους ομότιμους στην ομάδα ή σε άλλες ομάδες

  18. Τύποι Ομοτίμων • Απλός ομότιμος: • Ένας απλός ομότιμος αντιστοιχεί σε έναν χρήση για παροχή υπηρεσιών σε άλλους ή για χρήση υπηρεσιών από άλλους • Ομότιμος συνάντησης: • Ένας ομότιμος συνάντησης παρέχει σε άλλους ομότιμους μία θέση στο δίκτυο για χρήση από άλλους ομότιμους ώστε να ανακαλύψουν πόρους στο δίκτυο • Ομότιμος δρομολόγησης: • Ένας ομότιμος δρομολόγησης παρέχει έναν μηχανισμό για την επικοινωνία ομοτίμων με άλλους ομότιμους πίσω από ένα firewall κτλ.

  19. Βασικά P2P Στοιχεία • Ομάδα Ομοτίμων: • Ένα σύνολο από ομότιμους που έχουν κοινό συμφέρον ή στόχο και που καθορίζεται από τους ομότιμους που λαμβάνουν μέρος • Οι ομάδες ομότιμων παρέχουν υπηρεσίες στα μέλη τους που δεν είναι προσβάσιμες από άλλους ομότιμους στο P2P δίκτυο

  20. Ομάδες Ομότιμων • Οι ομάδες ομότιμων διαχωρίζονται με βάση τα εξής: • Η εφαρμογή στην οποία συνεργάζονται σαν ομάδα • Οι απαιτήσεις ασφαλείας των ομότιμων στην ομάδα • Η ανάγκη ύπαρξης πληροφορίας κατάστασης στα μέλη της ομάδας

  21. Υπηρεσίες • Υπηρεσίες ομοτίμων: • Η λειτουργικότητα που παρέχεται από τον ομότιμο προς τους υπόλοιπους • Αυτή η υπηρεσία είναι μοναδική για τον ομότιμο και είναι διαθέσιμη μόνο όταν αυτός είναι συνδεδεμένος στο δίκτυο • Όταν ο ομότιμος αποσυνδεθεί τότε η υπηρεσία δεν είναι διαθέσιμη

  22. Υπηρεσίες Ομάδων • Υπηρεσίες Ομάδων: • Η λειτουργίες που παρέχονται από μία ομάδα ομοτίμων • Αυτές οι λειτουργίες μπορούν να παρέχονται από αρκετά μέλη της ομάδας, με αποτέλεσμα να υπάρχει ο απαραίτητος πλεονασμός για αυτή την υπηρεσία • Αν έστω και ένα μέλος της ομάδας συνδέεται με το δίκτυο και παρέχει την υπηρεσία, αυτή είναι διαθέσιμη για τους υπόλοιπους

  23. Ταξινόμηση P2P Εφαρμογών P2P εφαρμογές Διαχείριση Δεδομένων Παραλληλοποιήσιμες Συνεργατικό Υπολογιστικά απαιτητικό Ομαδοποιήμένα Ανταλλαγή δεδομένων Συστήματα Αρχείων Εξόρυξη Δεδομένων Άμεση Επικοινωνία Διαμοιραζόμενες εφαρμογές Παιχνίδι SETI@HOME Workflow JavaBeans Web Services Napster Gnutella Yahoo! Skype WOW OpenCOLA JXTA Search Buzzpad PowerPoint

  24. Βασικά P2P στοιχεία • Αυτό που πρέπει να κάνουν τα πρωτόκολλα είναι: • Εύρεση ομότιμων στο δίκτυο • Εύρεση υπηρεσιών που παρέχει κάθε ομότιμος • Λήψη πληροφορίας κατάστασης από έναν ομότιμο • Χρήση υπηρεσίας από έναν ομότιμο • Δημιουργία, συμμετοχή και αναχώρηση από ομάδες ομότιμων • Δημιουργία συνδέσεων δεδομένων σε ομότιμους • Δρομολόγηση μηνυμάτων σε άλλους ομότιμους

  25. Ψάξιμο σε P2P Σύστημα Πόροι:R3,1, R3,2, ... Ερώτηση: Ποιος έχει το X; Πόροι:R2,1, R2,2, ... Πόροι:R1,1, R1,2, ...

  26. Ψάξιμο σε P2P Σύστημα Πόροι:R3,1, R3,2, ... Ερώτηση: Ποιος έχει το X; Πόροι:R2,1, R2,2, ... απαντήσεις Πόροι:R1,1, R1,2, ...

  27. Ψάξιμο σε P2P Σύστημα Πόροι:R3,1, R3,2, ... Ερώτηση: Ποιος έχει το X; Πόροι:R2,1, R2,2, ... απαντήσεις Λήψη πόρου Απαίτηση πόρου Πόροι:R1,1, R1,2, ...

  28. 2 Ακόμα Κατηγορίες • Μη-δομημέναP2P συστήματα • Η τοπολογία δικτύου δεν έχει προκαθορισμένη δομή (τυχαίος γράφος) • Τα δεδομένα είναι στους ομότιμους που τα δημιουργούν • Η εύρεση γίνεται με τυχαίους περιπάτους, flooding • Μη αποδοτικό (εύρος ζώνης) και περιορισμένης εφαρμογής • ΔομημέναP2P συστήματα • Το περιεχόμενο δεικτοδοτείται καθολικά • Εύρεση μέσω της δομής δεικτοδότησης • Η τοπολογία δικτύου είναι ελεγχόμενη

  29. Μη δομημένα P2P Peer 1 • Τυχαίο δίκτυο • Καμία κεντρική δεικτοδότηση • Ξεκινά από κόμβους που ξέρουν εξυπηρετητές ομότιμων και έπειτα πλημμυρίζει το δίκτυο • Χαρακτηριστικά: • Μεταβλητότητα • Αναξιόπιστη/Μη αποδοτική αναζήτηση • Εφαρμογές: • Gnutella Peer 5 Peer 3 Peer 4 Peer 2 Peer 7 Peer 6

  30. Μερικοί Στόχοι • Αν υπάρχει  Βρες το • Η πλημμύρα δεν έχει μεταβλητότητα • Το τυφλό ψάξιμο είναι μη αποδοτικό P2P συστήματα Δομημένα Μη-δομημένα • Διαθεσιμότητα Δεδομένων • Αποκέντρωση • Μεταβλητότητα • Εξισορρόπηση φορτίου • Αντίσταση σε Λάθη • Διαχείριση • Άφιξη/Αναχώρηση • Επιδιόρθωση • Αποδοτικό Ψάξιμο • Κοντινότητα • Τοπικότητα Χρόνος ερώτησης, πλήθος μηνυμάτων, χρησιμοποίηση δικτύου, κτλ.

  31. Τι θα Πούμε • Τι είναι; • Μοντέλα • CHORD • …

  32. Μοντέλα • Δεν υπάρχουν τυπικά μοντέλα για P2P αλγόριθμους και δομές (όπως το cache-oblivious) • Πώς μοντελοποιούμε ένα Peer-to-Peer δίκτυο (ή ένα γενικό δίκτυο)? • Υπάρχουν κάποια βασικά χαρακτηριστικά

  33. Μετρικές για Δίκτυα • Επικοινωνία • Συμφόρηση • Αντίσταση σε Λάθη • Κατανάλωση Ενέργειας • Εξισορρόπηση Φορτίου • Υπολογιστική Δύναμη Κόμβων • …

  34. Η Δικτυακή Μηχανή Δεικτών • Ένα γράφημαG=(V,E) • Οι κόμβοι είναι υπολογιστικές μηχανές (TM) ενώοι ακμές είναι συνδέσεις • Ο Gείναι δυναμικός (κόμβους και ακμές) • Μηνύματα σταθερού μεγέθους μέσω ακμών • Είναι επιθυμητό ένα μικρό πλήθος ακμών από κάθε κόμβο. • Η επικοινωνία είναι η κύρια μετρική Επιτρέποντας κόμβους με μεγάλο βαθμό είναι σαν να επιτρέπουμε κεντρικοποιημένους αλγόριθμους

  35. Μετρική Επικοινωνίας • Συνολικό πλήθος μηνυμάτων • Χρόνος καθυστέρησης (έχει σχέση με παραλληλισμό) u y e1 e4 e3 w x e2 e5 v z

  36. Ένα απλό παράδειγμα • Εύρεση αριθμού σε δίκτυο μορφής δυαδικού δένδρου, όπου κάθε κόμβος περιέχει ένα στοιχείο. Το δένδρο δεν είναι ταξινομημένο. Συνολικό πλήθος μηνυμάτων O(n) Χρόνος καθυστέρησης O(logn) Μεγάλο κενό. Υπάρχουν άλλα προβλήματα με αντίστοιχη συμπεριφορά; ... . . .

  37. Τι θα Πούμε • Τι είναι; • Μοντέλα • CHORD

  38. Επίστρωση – Δεικτοδότηση • Η Επίστρωση (Overlay)είναι η δομή των κόμβων του G. • Η Δεικτοδότησηείναι τα στοιχεία που αποθηκεύονται στους κόμβους του G. • Η Τοπολογία Δικτύου είναι η υποδομή για την επίστρωση. Πώς θα μπορούσαμε να την μοντελοποιήσουμε;

  39. Παράδειγμα Τοπολογία Δικτύου Επίστρωση 12,15 5,6,7 18,20,22,23 1,3,4 9,11 16 24,25 Δεικτοδότηση

  40. Chord – Εισαγωγή • Αποδοτική εύρεση κόμβου που περιέχει στοιχεία για ένα συγκεκριμένο στοιχείο που ψάχνουμε. • Μόνο μία πράξη:δοθέντος ενός κλειδιού, αντιστοιχεί το κλειδί σε έναν κόμβο.

  41. Προβλήματα που Επιλύει • Εξισορρόπηση Φορτίου:Η κατανεμημένη συνάρτηση κατακερματισμού απλώνει τα στοιχεία ομοιόμορφα σε όλους τους κόμβους • Πλήρως κατανεμημένο • Μεταβλητότητα:Η εύρεση αυξάνει λογαριθμικά σε σχέση με το πλήθος των κόμβων • Διαθεσιμότητα: Αυτόματα αλλάζει τους εσωτερικούς πίνακες όταν αλλάζει το δίκτυο. • Ευέλικτη Ονοματοδοσία:Δεν υπάρχουν περιορισμοί στα στοιχεία που αποθηκεύουμε.

  42. Πρωτόκολλο Chord • Υποθέτει ότι η επικοινωνία είναι συμμετρική και μεταβατική. • Αναθέτει κλειδιά στους κόμβους με συνεπή κατακερματισμό • Η συνάρτηση κατακερματισμού εξισορροπεί το φορτίο • Όταν ο N-οστόςκόμβοςεισάγεται ή αναχωρεί τότε μόνο O(1/N)κλάσμα κλειδιών μεταφέρεται.

  43. Πρωτόκολλο Chord • Η συνεπής συνάρτηση κατακερματισμού αναθέτει σε κάθε κόμβο και κλειδί έναν m-bit αναγνωριστικό. • Η IP διεύθυνση του κόμβου περνά στη συνάρτηση. • Τα αναγνωριστικά ταξινομούνται σε έναν κύκλο αναγνωριστικών mod 2m, τον chord δακτύλιο. • succesor(k) = πρώτος κόμβος του οποίου το αναγνωριστικό  του αναγνωριστικού του kστο χώρο αναγνωριστικών.

  44. Chord Δακτύλιος • Αντιστοιχεί κόμβους σε m-bitαναγν. • hash(IP Addr)  Node ID • Αντιστοιχεί κλειδιά σε m-bitαναγν. • hash(File Name)  key • Το κλειδί ανατίθεται στο 1ο κόμβο με Node ID ≥ key • Αναζήτηση(key) Πράξεις • Αναζήτηση(9)  N21 N1 N55 (1,8] N51 N8 (8,21] N21 N42 N32 m=6

  45. Επόμενοι και Προηγούμενοι m=6 N1.pred N1 N56 N8 N1.succ N51 N14 N48 N21 N42 N38 N32

  46. Θεώρημα • Για κάθε σύνολο Nκόμβων και Kκλειδιών, με μεγάλη πιθανότητα: • Κάθε κόμβος είναι υπεύθυνος για το πολύ (1+e)K/Nκλειδιά. • Όταν ο(N+1)-οστός κόμβος εισέρχεται ή αναχωρεί από το δίκτυο, μόνο O(K/N)κλειδιά αλλάζουν κυριότητα. e = O(log N)

  47. Απλό Σχήμα Αναζήτησης N1 N8 K45 N48 N14 N42 N38 N21 N32

  48. Σχήμα Αναζήτησης με Καλή Μεταβλητότητα N1 Πίνακας Δεικτών γιαN8 N56 N8 N51 δείκτης6 δείκτης1,2,3 N48 N14 δείκτης5 N42 δείκτης4 N38 N21 N32 δείκτης[k] = πρώτος κόμβος που είναι μετά το (n+2k-1)mod2m

  49. Σχήμα Αναζήτησης με Καλή Μεταβλητότητα // ask node n to find the successor of id n.find_successor(id) if (id belongs to (n, successor]) return successor; else n0 = closest preceding node(id); return n0.find_successor(id); // search the local table for the highest predecessor of id n.closest_preceding_node(id) for i = m downto1 if (finger[i] belongs to (n, id)) return finger[i]; return n;

  50. Αναζήτηση με τον Πίνακα Δεικτών N1 Αναζήτηση(K54) N56 N8 N51 N14 N48 N21 N42 N38 N32

More Related