Υπηρεσία Υπερ-Κόμβων

Οι κόμβοι που υλοποιούν την υπηρεσία υπερ-κόμβων (υπερ-κόμβοι) διαμορφώνουν το επίπεδο του δικτύου που είναι υπεύθυνο για τη δρομολόγηση μηνυμάτων. Κάθε υπερ-κόμβος είναι υπεύθυνος για την εξυπηρέτηση ενός ποσοστού των πελατών αποθηκεύοντας επερωτήσεις διαρκείας (continuous queries) και δημοσιεύσεις (publications), απαντώντας σε στιγμιαίες επερωτήσεις (one-time queries), και δημιουργώντας ειδοποιήσεις (notifications).

Οι πελάτες των υπερ-κόμβων μπορεί να είναι είτε οι πελάτες, είτε οι πάροχοι. Οι υπερ-κόμβοι εκτελούν ένα πρωτόκολλο ΚΠΚ, το οποίο αποτελεί επέκταση του Pastry. Ο ρόλος του ΚΠΚ στο σύστημα LibraRing είναι πολύ σημαντικός. Πρώτα από όλα, δρα ως ένα σημείο επικοινωνίας μεταξύ των παραγωγών πληροφορίας (πάροχοι) και των καταναλωτών αυτής της πληροφορίας (πελάτες). Με λίγα λόγια, διαδραματίζει το ρόλο της υπηρεσίας ειδοποίησης γεγονότος, όπως αυτός παρουσιάστηκε στην Ενότητα 2.4. Κατά δεύτερον, αποτελεί μία εύρωστη, ανεκτική σε αποτυχίες και κλιμακούμενη υποδομή δρομολόγησης. Όταν ο αριθμός των υπερ-κόμβων είναι μικρός, κάθε κόμβος μπορεί εύκολα να εντοπίσει τους υπόλοιπους μόνο με μία αναπήδηση διατηρώντας έναν πλήρη πίνακα δρομολόγησης. Όταν ο αριθμός των υπερ-κόμβων αυξάνεται, ο ΚΠΚ προσφέρει κλιμακούμενους τρόπους εντοπισμού άλλων κόμβων, όπως αυτοί συζητήθηκαν στην υποενότητα 2.2.4 για την αρχιτεκτονική του Pastry. Τέλος, όντας μία υπηρεσία ευρετηριασμού καθολικών μεταδεδομένων χωρισμένη μεταξύ των υπερ-κόμβων, ο ΚΠΚ διευκολύνει την ανάπτυξη μίας κατανεμημένης αποθήκης (repository) μεταδεδομένων που μπορούν να επερωτηθούν αποδοτικά.

Επερωτήσεις Διαρκείας (Continuous Queries): Είναι ο τρόπος μέσω του οποίου προσφέρεται η λειτουργικότητα της συνδρομής ενός πελάτη σε δημοσιεύσεις που είτε υπάρχουν ήδη αποθηκευμένες στο σύστημα LibraRing, είτε πρόκειται να υπάρξουν στο μέλλον. Ουσιαστικά εκφράζουν τις επιθυμίες και τα ενδιαφέροντα των πελατών ως προς τις δημοσιεύσεις. Ο χαρακτηρισμός της επερώτησης ως ````διαρκείας'''' δικαιολογείται από το γεγονός ότι η επερώτηση αποθηκεύεται στο σύστημα και ενεργοποιείται, δηλαδή ελέγχεται η ικανοποίησή της, κάθε φορά που μία νέα δημοσίευση παρουσιάζεται στο σύστημα. Μία επερώτηση αυτού του τύπου και όταν αυτή ικανοποιείται απαντάται πάντοτε υπό τη μορφή ειδοποίησης.

Στιγμιαίες Επερωτήσεις (One-time Queries): Αυτού του τύπου οι επερωτήσεις είναι όμοιες, ως προς τη λειτουργικότητά τους με τις επερωτήσεις που γίνονται σε βάσεις δεδομένων. Ο πελάτης του συστήματος LibraRing θέτει μία επερώτηση στον υπερ-κόμβο που αποτελεί το σημείο πρόσβασής του, αυτή αποστέλλεται και επεξεργάζεται στον υπερ-κόμβο που είναι υπεύθυνος για αυτή την επερώτηση και τέλος του απαντά αποστέλλοντάς του όλες τις περιγραφές των δημοσιεύσεων που υπάρχουν αποθηκευμένες στο σύστημα LibraRing και ταιριάζουν με αυτή την επερώτηση. Ο πελάτης έχοντας την περιγραφή της δημοσίευσης και τον πάροχο που την δημοσιοποίησε έχει τη δυνατότητα να την αιτήσει από αυτόν. Σε περίπτωση που δεν υπάρχουν τέτοιες δημοσιεύσεις η απάντηση είναι κατάλληλη.



Charalampos Nikolaou 2008-04-02