Storage management and caching in PAST, a large-scale persistent peer- to-peer storage utility Antony Rowstron – Peter Druschel Κατανεμημένα Συστήματα Χήνου Διονυσία – A.Μ. 364
Εισαγωγή (1) Ορισμός Βασισμένη στο Internet, peer-to-peer αποθηκευτική δυνατότητα Βασίζεται Self-organizing Επικαλυπτόμενα βασισμένα στο Internet δίκτυα Αποθήκευση πολλαπλών αντιγράφων (replicas) αρχείων Cache αντιγράφων δημοφιλών αρχείων
Εισαγωγή (2) Χαρακτηριστικά Σημαντική διάρκεια Υψηλή διαθεσιμότητα Scalability Ασφάλεια
Λειτουργίες Εισαγωγή Αποθηκεύει ένα αρχείο σε ένα καθορισμένο για χρήστη αριθμό k σε διαφορετικούς κόμβους μέσα στο PAST δίκτυο. fileIdfileId = Insert(name, owner-credentials, k, file) Αναζήτηση Ανακτά ένα αντίγραφο του αρχείου που προσδιορίζεται από το fileId. file = Lookup(fileId) Επαναφορά Επαναφέρει τον αποθηκευτικό χώρο που καταλαμβάνεται από τα k αντίγραφα του αρχείου που προσδιορίζεται από το fileId. Reclaim(fileId, owner-credentials)
Προσδιοριστές (Identifiers) (1) fileId : προσδιοριστής αρχείου 160-bit Υπολογίζεται: SHA-1 Δημόσιο κλειδί ιδιοκτήτη Τυχαία επιλεγμένο salt Μοναδικό
Προσδιοριστές (Identifiers) (2) nodeId: προσδιοριστής κόμβου Προσδιορίζει τη θέση ενός κόμβου σε ένα circular namespace, το οποίο κυμαίνεται από 0 έως bit Ψευδοτυχαίος
Pastry (1) Peer-to-peer routing substrate Αποτελεσματικό (efficient) Ανθεκτικότητα σε σφάλματα Self-organizing Επιβεβαιώνει ότι η αίτηση του client έχει οδηγηθεί με ασφάλεια στους κατάλληλους κόμβους
Pastry (2) Έχοντας ένα fileId, δρομολογεί ένα συσχετιζόμενο μήνυμα προς τον κόμβο που έχει το nodeId αριθμητικά πιο κοντά στο 128 msbs του fileId Αν N κόμβοι, τότε σε λιγότερο από [log 2 b N] βήματα, κατευθύνεται στο αριθμητικά πιο κοντινό fileId Πίνακες περιέχουν λιγότερες από (2 b –1)* [log 2 b N]+2l οντότητες
Ασφάλεια (1) Κάθε κόμβος και χρήστης έχουν μια smartcard Ζεύγος ιδιωτικού/ δημοσίου κλειδιού Το PAST μπορεί να λειτουργήσει και χωρίς smartcard Smartcard εξασφαλίζει την ακεραιότητα των fileId και nodeId
Ασφάλεια (2) - Υποθέσεις Υπολογιστικά ανέφικτο να «σπάσει» το κρυπτογραφημένο δημόσιο κλειδί και η hash συνάρτηση κρυπτογράφησης Καθώς clients, λειτουργίες κόμβων και λογισμικό κόμβων δεν είναι έμπιστα και οι επιτιθέμενοι ελέγχουν τη συμπεριφορά του PAST, οι περισσότεροι κόμβοι συμπεριφέρονται σωστά Ένας επιτιθέμενος δεν μπορεί να ελέγξει τη συμπεριφορά της smartcard
Storage Management Στόχοι Εξισορροπεί τον αποθηκευτικό χώρο που απομένει μεταξύ των κόμβων Διατηρεί τη σταθερότητα ότι αντίγραφα κάθε αρχείου διατηρούνται από k κόμβους με nodeIds πιο κοντά στο fileId Αλληλοσυγκρουόμενοι στόχοι
Replica diversion (1) Επιτρέπει σε ένα κόμβο που δεν είναι από τους k αριθμητικά κοντινότερους κόμβους στο fileId να αποθηκεύσει το αρχείο, αν βρίσκεται στο σύνολο των φύλλων των k κόμβων Εξισορροπεί τον εναπομείναν ελεύθερο αποθηκευτικό χώρο μεταξύ των κόμβων σε ένα σύνολο φύλλων
Replica diversion (2) Αποδοχή των replicas μια τοπική αποθήκη του κόμβου Επιλογή ενός κόμβου για να αποθηκεύσει ένα ανακατευθυνόμενο (diverted) replica Απόφαση πότε να ανακατευθυνθεί ένα αρχείο σε διαφορετικά τμήματα του nodeId χώρου
File diversion Επιτυγχάνει μεγαλύτερη συνολική εξισορρόπηση μεταξύ μεγάλων τμημάτων του nodeId χώρου
Caching Μειώνει τις λανθάνουσες προσβάσεις του client Αυξάνει την ποσότητα των επερωτήσεων Εξισορροπεί το φορτίο επερωτήσεων στο σύστημα
Παρόμοιες εργασίες OceanStore FarSite FreeHaven Eternity Tapestry Chord CAN CFS