Γενική Περιγραφή

Το σύστημα Pastry [3] είναι ένα επικαλυπτόμενο δίκτυο ομότιμων κόμβων που προσφέρει δυνατότητα δρομολόγησης μηνυμάτων σε επίπεδο εφαρμογής και ένα κλιμακούμενο πρωτόκολλο αναζήτησης υλοποιώντας τη διεπαφή του ΚΠΚ. Το Pastry έχει σχεδιασθεί και υλοποιηθεί ώστε να αποτελεί ένα πολύ μεγάλο επικαλυπτόμενο δίκτυο ομότιμων κόμβων δια-συνδεδεμένων μέσω του Διαδικτύου. Έχει τη δυνατότητα υποστήριξης μίας μεγάλης ποικιλίας εφαρμογών ομότιμων κόμβων, συμπεριλαμβανομένων καθολικής-παγκόσμιας αποθήκευσης δεδομένων (PAST), διαμοιρασμού αρχείων (Scrivener2.7), επικοινωνίας και ονοματολογίας ομάδων (Scribe2.8, POST2.9).

Κάθε κόμβος του δικτύου Pastry έχει ένα μοναδικό αναγνωριστικό ή αναγνωριστικό κόμβου (nodeId). Δοθέντος ενός μηνύματος και ενός κλειδιού, ένας κόμβος του Pastry δρομολογεί αποδοτικά αυτό το μήνυμα στον κόμβο με αναγνωριστικό που είναι αριθμητικά πλησιέστερα στο κλειδί, ανάμεσα σε όλους τους εν ζωή κόμβους του Pastry. Κάθε κόμβος διατηρεί πληροφορίες για τους άμεσους γείτονές του σύμφωνα με τα αναγνωριστικά τους και ειδοποιεί τις εφαρμογές που έχουν υλοποιηθεί πάνω σε αυτό το επίπεδο για την άφιξη νέων κόμβων (node arrival), τις αποτυχίες κόμβων (node failure) και για την επανάκαμψη κόμβων (node recovery). Το σύστημα Pastry λαμβάνει υπ' όψη του την τοπικότητα του δικτύου· ψάχνει να ελαχιστοποιήσει την απόσταση που θα διανύσει ένα μήνυμα, σύμφωνα με μία βαθμωτή μετρική εγγύτητας (proximity metric), όπως ο αριθμός των αναπηδήσεων (hops) κατά τη δρομολόγηση.

Το Pastry είναι απόλυτα κατανεμημένο, κλιμακούμενο, και αυτο-οργανώμενο· προσαρμόζεται αυτόματα σε αφίξεις, αναχωρήσεις και αποτυχίες κόμβων.



Charalampos Nikolaou 2008-04-02