Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 Sections.
Advertisements

Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος.
ΕΙΣΑΓΩΓΗ ΣΤΑ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΑΣ
Αλγόριθμοι Αναζήτησης
Γιάννος Ιωάννου Σύμβουλος Καθηγητής Πληροφορικής Μέσης Εκπαίδευσης
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΑΝΑΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ ΤΡΙΣΔΙΑΣΤΑΤΟΥ ΠΡΟΤΥΠΟΥ ΜΕ ΑΥΘΑΙΡΕΤΑ ΛΑΘΗ ΣΙΑΚΑΒΕΛΗ ΑΡΓΥΡΩ ΑΜ:1229.
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Peer-to-Peer Systems Ευθυμία Ρόβα Βίκυ Τζιοβάρα Μαρία Χριστοδουλίδου.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι.
Ο Αλγόριθμος FP-Growth. Αλγόριθμος FP-Growth Ο αλγόριθμος χρησιμοποιεί μια συμπιεσμένη αναπαράσταση της βάσης των συναλλαγών με τη μορφή ενός FP-δέντρου.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Web Services Υπηρεσίες διαδικτύου
Accessing Nearby Copies of Replicated Objects in a Distributed Environment (ANCRODE algorithm) By C.Greg Plaxton, Rajmohan Rajaraman, Andrea W. Richa.
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 ΠΑΡΟΥΣΙΑΣΗ:
Συστήματα Διαδικτύου SCRIBE: A large-scale and decentralized application-level multicast infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec.
1/23 DHTStrings: Συστήματα Δημοσιεύσεων/Συνδρομών σε DHT Δίκτυα με Υποστήριξη για Συμβολοσειρές Διανομή Περιεχομένου στο Διαδίκτυο Τμήμα ΜΗΥΠ Παν/μιο Πατρών.
Διανομή Περιεχομένου στο Διαδίκτυο To Δίκτυο Pastry A. Rowstron and P
Δομημένα Δίκτυα Ομοτίμων -- Κατανεμημένοι Πίνακες Κερματισμού (Distributed Hash Tables) Το Δίκτυο CHORD.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
7.7 Πρωτόκολλο ARP Δίκτυα Υπολογιστών ΙΙ.
A Balanced Tree Structure for Peer-to-Peer Networks
Κατανεμημένα Συστήματα με Java Ενότητα #13: Κατανεμημένοι πίνακες κατακερματισμού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Δρομολόγηση (Routing). Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός  Dijkstra’s Algorithm Αλγόριθμοi Δρομολόγησης  Link State.
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
Δίκτυα Ευρείας Ζώνης Υπευθ. Καθηγητής: Ι. Βενιέρης.
Αλγόριθμοι Ταξινόμησης
1 routing Δρομολόγηση (routing) σε δίκτυα Αυτοδύναμα Πακέτα (Datagrams): απόφαση δρομολόγησης για κάθε πακέτο. Εικονικά Κυκλώματα (Virtual Circuits): μία.
Μεταγωγή (Switching) Πως σχηματίζουμε διαδίκτυα. Περίληψη Μεταγωγή Κυκλωμάτων (Circuit switching) Μεταγωγή Πακέτων (Packet switching) Μεταγωγή Εικονικών.
CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.
Δρομολόγηση (Routing). Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός  Dijkstra’s Algorithm Αλγόριθμοi Δρομολόγησης  Link State.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Ανασκόπηση Σχεδιασμού στο CAN Διονύσης Αθανασόπουλος Βασιλική Δεβελέγκα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
1 Chord: A scalable Peer to Peer Lookup Service for Internet Applications Νικόλαος Καλλιμάνης Σπυρίδων-Δημήτριος Αγάθος Ευγενία Σταθοπούλου.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Δρομολόγηση. Δρομολόγηση ονομάζεται το έργο εύρεσης του πως θα φθάσει ένα πακέτο στον προορισμό του Ο αλγόριθμος δρομολόγησης αποτελεί τμήμα του επιπέδου.
Τεχνολογία TCP/IP TCP/IP internet είναι ένα οποιοδήποτε δίκτυο το οποίο χρησιμοποιεί τα πρωτόκολλα TCP/IP. Διαδίκτυο (Internet) είναι το μεγαλύτερο δίκτυο.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Data Management in p2p A Comparative Study of Pub/Sub Methods in Structured P2P Networks Μαρίνα Δρόσου – ΑΜ 135 Μυρτώ Ντέτσικα – ΑΜ 144 Γρηγόριος Τζώρτζης.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 1: Χρήση βασικών εργαλείων για συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 2: Συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου. Εργαστήριο Διαχείρισης και Βέλτιστου.
Storage management and caching in PAST, a large-scale persistent peer- to-peer storage utility Antony Rowstron – Peter Druschel Κατανεμημένα Συστήματα.
Peer-To-Peer Networks Θέματα Πτυχιακών Αναστάσιος Ιωαννίδης Σαράντης Πασκαλής
Peer-To-Peer Networks Αναστάσιος Ιωαννίδης
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
ΜΑΘΗΜΑ: ΣΥΓΧΡΟΝΟ ΛΟΓΙΣΜΙΚΟ ΟΡΓΑΝΩΣΗ ΓΡΑΦΕΙΟΥ 5 ο ΕΡΓΑΣΤΗΡΙΟ: ΕΓΚΑΤΑΣΤΑΣΗ ΕΚΤΥΠΩΤΩΝ ΚΑΘΗΓΗΤΗΣ: ΓΡΗΓΟΡΙΟΣ Ν. ΚΑΡΑΤΑΣΙΟΣ.
Κινητά και Διάχυτα Συστήματα Ενότητα # 5: Κατανεμημένοι πίνακες κατακερματισμού Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Δυναμικός Κατακερματισμός
Κεφάλαιο 4. Επίπεδο μεταφοράς
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ (ΕΡΓΑΣΤΗΡΙΟ)
ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ–ΔΙΑΔΙΚΤΥΩΣΗ
Εφαρμογεσ τηλεματικησ στη διοικηση
Διαχείριση Κινητικότητας στο Internet
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel Συστήματα Διαδικτύου To Δίκτυο Pastry A. Rowstron and P. Druschel. "Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems". IFIP/ACM Middleware Conference, Nov 2001 pp. 329-350.  6/4/2017

Plaxton & Rajaraman: Plaxton Mesh Πρόκειται για διαχείριση (αποθήκευση/εντοπισμό) αντικειμένων σε κατανεμημένο περιβάλλον που βασίζεται σε κατανεμημένους πίνακες κατακερματισμού (DHTs). Δημιουργία ενός εικονικού δέντρου που έχει ένα προς ένα αντιστοιχία με το δίκτυο. Η δρομολόγηση των μηνυμάτων βασίζεται στο πρόθεμα (prefix) των ετικετών/αναγνωριστικών (ids) τους 6/4/2017

Προβλήματα Αυτή η δομή απαιτεί στατικό δίκτυο για να μην χάνεται η συνεκτικότητα του δέντρου. Κάτι τέτοιο σε δίκτυα ομοτίμων δεν επιτρέπεται. Συνεχής άφιξη/αναχώρηση κόμβων Παρουσία σφαλμάτων (κόμβοι ή συνδέσεις καταρρέουν) Εάν ένας κόμβος πάψει να υπάρχει (failure) τότε είναι δυνατόν να δημιουργηθεί μία τομή στο δίκτυο και να μην υπάρχει επικοινωνία/προσπέλαση περιεχομένου. 6/4/2017

Το Pastry DHT Βασίζεται στη κατανεμημένη δομή των Plaxton et al. (με δρομολόγηση βασιζόμενη στο πρόθεμα των ετικετών των αντικειμένων) Υποστηρίζει μηχανισμούς οργάνωσης του δικτύου υπό την παρουσία σφαλμάτων (self-organization). Εγγυάται κλιμακώσιμη απόδοση με την αύξηση του αριθμού των κόμβων N (scalability). Γενικά: για ένα δίκτυο με Ν κόμβους: o εντοπισμός/εισαγωγή αντικειμένων απαιτεί O(log N) βήματα δρομολόγησης μέγεθος του πίνακα δρομολόγησης σε κάθε κόμβο O(log N) 6/4/2017

Pastry Ετικέτες (nodeIds) Οι ετικέτες (κόμβων και αντικειμένων) έχουν m ψηφία. Το κάθε ψηφίο παίρνει τιμή από [0 ,(2^b)-1]. Τυπική τιμή για το b είναι 4. Η κάθε ετικέτα έχει λοιπόν log2^b (N) ψηφία. Η ετικέτα είναι συνήθως η (ψευδοτυχαία) έξοδος μιας κατάλληλης συνάρτησης κατακερματισμού (π.χ. SHA-1) που δέχεται ως είσοδο κάποιο χαρακτηριστικό (π.χ. IP κόμβου, δημόσιο κλειδί, κλπ). 6/4/2017

Κατανομή αντικειμένων Μπορεί να χρησιμοποιείται Consistent Hashing Address space με εύρος [0,2128-1] Δημιουργία των nodeIds και objIds με χρήση συνάρτησης κατακερματισμού (π.χ. SHA-1) Ο κόμβος με nodeId πιο κοντά (αριθμητικά) στο objId αναλαμβάνει να φιλοξενήσει το αντικείμενο 2128-1 O objId nodeIds 6/4/2017

Εισαγωγή/Εντοπισμός Αντικειμένων: Βασική Ιδέα Αντικείμενο με objId προωθείται στο κόμβο με nodeId αριθμητικά κοντά στο objId Χρήση κατανεμημένων πινάκων δρομολόγησης. O(log N) μέγεθος πίνακα O(log N) βήματα δρομολόγησης Η βάση του λογαρίθμου είναι 2β όπου β=4, συνήθως. 2128-1 O nodeId objId Each node has a randomly assigned 128-bit nodeId, circular namespace Basic operation: A message with key X, sent by any Pastry node, is delivered to the live node with nodeId closest to X in at most log16 N steps (barring node failures). Pastry uses a form of generalized hypercube routing, where the routing tables are initialized and updated dynamically. Route(objId) 6/4/2017

Pastry Routing: Βασικές Δομές Η κατανεμημένη δρομολόγηση γίνεται με την βοήθεια του Πίνακα Δρομολόγησης (Routing Table) σε κάθε κόμβο Είναι απαραίτητες οι επιπλέον παρακάτω δομές: Leaf set για αποδοτική δρομολόγηση και εντοπισμό/αντιμετώπιση σφαλμάτων Neighborhood set για τη διατήρηση της συνδεσιμότητας του δικτύου και για άλλες βελτιστοποιήσεις (δε χρησιμοποιείται πια)... 6/4/2017

Πίνακας Δρομολόγησης (ΠΔ) Ο ΠΔ σε κάθε κόμβο έχει log2^b (N) γραμμές και 2b-1 στήλες. Δηλ. αποθηκεύει log2^b (N) * (2b-1) nodeIds. Στην γραμμή i υπάρχουν κόμβοι των οποίων το nodeId: έχει τα i πρώτα ψηφία ίδια με αυτά της ετικέτας του τρέχοντα κόμβου και το i+1 ψηφίο έχει μία από τις 2b-1 δυνατές τιμές Όταν το i+1 ψηφίο = Χ, τότε το nodeId εμφανίζεται στη στήλη Χ της γραμμής i. Για κάθε nodeId στον ΠΔ αποθηκεύεται η διεύθυνση IP που αντιστοιχεί στο nodeId. 6/4/2017

Πίνακας Δρομολόγησης: Παράδειγμα Στον κόμβο 65a1fcx: Η γραμμή 0 χρησιμοποιείται όταν ο ζητούμενος κόμβος (προορισμός) δεν αρχίζει από «6». Δηλαδή δεν υπάρχει κοινό πρόθεμα. Η 1η γραμμή χρησιμοποιείται όταν ο κόμβος προορισμός έχει κοινό πρόθεμα (με τον τρέχοντα κόμβο) μεγέθους 1 (δηλαδή είναι 6xxxxxx. Η ι-οστή γραμμή χρησιμοποιείται όταν ο κόμβος προορισμός έχει κοινό πρόθεμα (με τον τρέχοντα κόμβο) μεγέθους ι. Προσέξτε: υπάρχουν πολλοί κόμβοι με ένα συγκεκριμένο κοινό πρόθεμα. Μόνο ένας από αυτούς αποθηκεύεται. Καταβάλλεται προσπάθεια αυτός ο κόμβος να είναι «κοντά» για λόγους βελτιστοποίησης απόδοσης. Ενδέχεται, κάποια θέση του ΠΔ να είναι κενή 6/4/2017

Πίνακας Δρομολόγησης: Παράδειγμα Πίνακας Δρομολόγησης (4 πρώτες σειρές) για τον κόμβο 65a1fcx . b=4  ψηφία με βάση 16. “x” συμβολίζει οποιαδήποτε συμβολοσειρά. x 1 2 3 4 5 7 8 9 a b c d e f 6 X 1 2 3 6/4/2017

Πίνακας Δρομολόγησης: Πολυπλοκότητα Γιατί Ο( log2^b (N) ) ; 2 θεωρήσεις: Σε κάθε βήμα «διορθώνεται» ένα ψηφίο. Συνολικά η κάθε ετικέτα έχει log2^b (N) ψηφία... Σε κάθε βήμα ο χώρος αναζήτησης υποδιαρείται κατά 2^b. Σκεφτείτε πόσοι κόμβοι έχουν το ίδιο πρόθεμα μεγέθους Ι με κάποιον κόμβο. Π.χ. Όταν β=4. Ι=1, Ν/16 Ι=2, Ν/(16^2),... Ν/(16^Ι), ... 6/4/2017

Leaf Set Τυπικές τιμές για το μέγεθος του Leaf Set είναι L=16. Περιέχει εγγραφές των |L| / 2 κόμβων αριθμητικά πιο κοντά στον κόμβο, με μεγαλύτερα nodeIds, (δηλαδή ακολουθούν στον κύκλο των ετικετών) και των |L|/2 κόμβων αριθμητικά πιο κοντά, με μικρότερα nodeIds (δηλαδή προηγούνται στον κύκλο των ετικετών) . Χρησιμοποιείται για: Αποδοτική δρομολόγηση To Pastry εγγυάται την παράδοση μηνυμάτων εκτός και αν καταρρεύσουν |L|/2 κόμβοι ταυτόχρονα Εντοπισμό σφαλμάτων (keep-alive) 6/4/2017

Pastry Routing: Αλγόριθμος d471f1 d467c4 d462ba d46a1c if (destination D is in the leaf set of A) forward to numerically closest member else let l = length of shared prefix let d = value of l-th digit in D if ( R(l,d) exists ) forward to R(l,d) forward to a known node that a. shares at least as long a prefix b. is numerically closer to D than this node d4213f Each node has a randomly assigned 128-bit nodeId, circular namespace Basic operation: A message with key X, sent by any Pastry node, is delivered to the live node with nodeId closest to X in at most log16 N steps (barring node failures). Pastry uses a form of generalized hypercube routing, where the routing tables are initialized and updated dynamically. Route(d46a1c) d13da3 65a1fc 6/4/2017

Neighborhood set Περιέχει τους κόμβους που είναι πιό «κοντά», σύμφωνα με μία μετρική εγγύτητας (π.χ. χρόνος επικοινωνίας, latency, απόσταση εκφρασμένη σε αριθμό μηνυμάτων, hops). Μέγεθος Neighborhood set: Μ = 2 x 2b (b=4) ή 2b Χρησιμοποιείται επίσης για την εξασφάλιση της ορθότητας των περιεχομένων του πίνακα και για την διατήρηση του δικτύου υπό την παρουσία σφαλμάτων. 6/4/2017

Pastry: Αυτοοργάνωση (Self-organization) Αρχικοποίηση και συντήρηση του Routing Table και Leaf Set και Neighbour Set όταν: Καταφθάνουν νέοι κόμβοι Αναχωρούν κόμβοι (εθελούσια είτε λόγω βλάβης) Απαιτείται η αποστολή O(log N) μηνυμάτων 6/4/2017

Άφιξη νέου κόμβου d471f1 Ζ: d467c4 D: d462ba Χ: d46a1c C: d4213f Ένας νέος κόμβος, Χ , καταφθάνει με nodeId=d46a1c και γνωρίζει τον κοντινό Α: 65a1fc Δρομολογείται ένα ειδικό (join) μήνυμα με objId=nodeId μέσω του Α Όλοι οι κόμβοι που εμπλέκονται στο μονοπάτι από τον Α μέχρι τον προορισμό Ζ στέλνουν στοιχεία από τους πίνακες τους στον Χ ο A την γραμμή i=0 o B την γραμμή i=1 o C την γραμμή i=2 . . . Ο Χ γεμίζει με εγγραφές τον πίνακα του ενώ μπορεί να ζητήσει και επιπλέον πληροφορία. Ενημερώνονται όλοι οι κόμβοι που βρίσκονται στο Routing Table Leaf Set Neigbour Set του Χ για την ύπαρξη του Ζ: d467c4 D: d462ba Χ: d46a1c C: d4213f Route(d46a1c) B: d13da3 Each node has a randomly assigned 128-bit nodeId, circular namespace Basic operation: A message with key X, sent by any Pastry node, is delivered to the live node with nodeId closest to X in at most log16 N steps (barring node failures). Pastry uses a form of generalized hypercube routing, where the routing tables are initialized and updated dynamically. A: 65a1fc Νέος κόμβος Χ: d46a1c Neigbour Set Επειδή ο Α είναι κοντά στον Χ χρησιμοποιείται το Neighbour Set του Α για το χτίσιμο του Χ Leaf Set Επειδή ο Ζ είναι αριθμητικά πιο κοντά στον Χ, χρησιμοποιείται το Leaf Set του Ζ, για το κτίσιμο του Χ 6/4/2017

Αναχώρηση κόμβου (failure) Ο εντοπισμός σφαλμάτων γίνεται με την αποστολή R-U-alive μηνυμάτων στους κόμβους. Διόρθωση του Leaf set: ζητείται το leaf set του πιο μακρινού (αριθμητικά) κόμβου στο LF Διόρθωση του Neigbour Set περιοδικά επιχειρείται επικοινωνία με τους κόμβους στο Neigbour Set Αν κάποιος κόμβος δεν απαντάει ζητούνται εγγραφές από άλλα μέλη του Neigbour Set Διόρθωση του Routing Table: R(i,j) ζητείται η συγκεκριμένη εγγραφή (j) από το routing table των κόμβων στην ίδια γραμμή (i) Αν δε βρεθεί αντικαταστάτης, στη συνέχεια ζητείται η εγγραφή από κόμβους (nodeIds) σε μεγαλύτερες γραμμές του ΠΔ. 6/4/2017

Τοπικότητα Η τοπικότητα στο Pastry επιτυγχάνεται με τη χρήση μετρικών όπως ping delays, IP hops κ.α. κατά την δημιουργία/διατήρηση του routing table Τοπικότητα στο Routing Table: Αφού ένας κόμβος αρχικοποιήσει τον πίνακα του, ζητά από τους γείτονες του τους πίνακες τους και συγκρίνει τις αποστάσεις. Ενημερώνει ανάλογα τον δικό του πίνακα. Τοπικότητα κατά την δρομολόγηση: Εφόσον οι κόμβοι στον πίνακα έχουν μπεί με βάση το κριτήριο της ελάχιστης απόστασης, σε κάθε βήμα ένα μήνυμα μεταβιβάζεται στον «κοντινότερο» γείτονα. 6/4/2017

Παρατηρήσεις-Συμπεράσματα Pastry: δομημένο δίκτυο ομοτίμων που παρέχει: Επεκτασιμότητα Αντοχή στις βλάβες Οργάνωση δικτύου υπό την παρουσία βλαβών Πολυπλοκότητα εύρεσης αντικειμένων και το μέγεθος του routing table είναι Ο(logN). Πολυπλοκότητα εισόδου κόμβων είναι Ο(logN). Να συγκρίνετε το Pastry με το Chord. 6/4/2017

Το Σύστημα Αρχείων PAST Ένα Σ.Α. πάνω από το Pastry. Οι βασικές ιδέες είναι: Αποθήκευσε το κάθε αρχείο fname στον κόμβο με nodeId = SHA-1(fname). Δρομολόγησε ένα μήνυμα σε αυτόν τον κόμβο, στέλνοντάς του το αρχείο fname. Το αρχείο fname αποθηκεύεται σε Κ αντίγραφα, ένα αντίγραφο σε κάθε έναν από τους Κ κοντινότερους κόμβους του SHA-1(fname). [Δηλαδή, w.h.p. Αυτοί είναι στο LeafSet]. Τα αντίγραφα βοηθούν στον Καταμερισμό φορτίου Βελτιστοποίηση χρόνου απόκρισης, λόγω ‘εντοπιότητας’ . 6/4/2017