Κατηγοριοποίηση Κατανεμημένων Πινάκων Κατακερματισμού

Κάθε ΚΠΚ υλοποιεί μία και μοναδική λειτουργία, την $ lookup(key)$ . Αυτή παράγει την τοποθεσία στο δίκτυο του κόμβου που είναι υπεύθυνος για το δεδομένο κλειδί. Για παράδειγμα, μία απλή κατανεμημένη εφαρμογή αποθήκευσης μπορεί να χρησιμοποιήσει αυτή τη διεπαφή ως εξής: Για να δημοσιοποιήσει ένα αρχείο υπό ένα μοναδικό όνομα (κλειδί), ο πάροχος μετατρέπει το όνομα του σε ένα αριθμητικό κλειδί χρησιμοποιώντας μία συνάρτηση κατακερματισμού, όπως η SHA-1 (Secure Hash Algorithm-1) και μετά καλεί την $ lookup(key)$ , η οποία θα του επιστρέψει τον κόμβο που είναι υπεύθυνος για αυτό το κλειδί. Στη συνέχεια στέλνει σε αυτόν το αρχείο, το οποίο και αποθηκεύεται. Ένας καταναλωτής που επιθυμεί να διαβάσει αυτό το αρχείο, γνωρίζοντας, φυσικά το όνομά του, το μετατρέπει με την παραπάνω συνάρτηση στο αριθμητικό του κλειδί και καλεί την $ lookup(key)$ . Ο υπεύθυνος κόμβος θα απαντήσει στέλνοντας ένα αντίγραφο σε αυτόν.

Αυτή είναι η διεπαφή που πρέπει να προσφέρει και να υλοποιεί κάθε τέτοιος ΚΠΚ. Παρ' όλα αυτά, οι ΚΠΚ διακρίνονται σε διάφορες κατηγορίες ανάλογα με τον τρόπο που υλοποιούν τις επόμενες διαδικασίες:

Figure: Μονοδιάστατη δρομολόγηση στο σύστημα Chord.
Image chord_routing

Στις επόμενες υποενότητες θα αναφερθούμε σε δύο σημαντικά Συστήματα Ομότιμων Κόμβων που υλοποιούν και προσφέρουν τη διεπαφή του Κατανεμημένου Πίνακα Κατακερματισμού με διαφορετικό τρόπο όσον αφορά στα προαναφερθέντα θέματα. Αυτά είναι τα Chord [14] και το Pastry [3].



Charalampos Nikolaou 2008-04-02