Ευρετηριασμός Πόρων

Ένας πόρος, όπως, για παράδειγμα μία δημοσίευση, ευρετηριάζεται σε τρία βήματα.

Βήμα 1:
Ο πάροχος $ P$ κατασκευάζει μία δημοσίευση $ p = \{ (A_1, s_1)$ , $ (A_2, s_2)$ , $ \dots$ , $ (A_n, S_n) \}$ που αποτελεί την περιγραφή του πόρου και αποστέλλει το μήνυμα $ PubResource(key(P)$ , $ ip(P)$ , $ key(p)$ , $ p)$ στο σημείο πρόσβασής του $ S$ .
Βήμα 2:
Ο $ S$ προωθεί το $ p$ στους κατάλληλους υπερ-κόμβους σύμφωνα με τα επόμενα. Έστω ότι $ D_1, D_2, \dots, D_n$ είναι τα σύνολα που αποτελούνται μόνο από τις διαφορετικές λέξεις στα $ s_1, s_2, \dots, s_n$ αντίστοιχα. Τότε το $ p$ αποστέλλεται σε όλους τους υπερ-κόμβους με αναγνωριστικά που βρίσκονται στη λίστα $ L = \{ H(w_j): w_j \in D_1 \cup \dots \cup D_n \}$ 3.1. Το πρωτόκολλο κατάθεσης εγγυάται ότι το σύνολο $ L$ θα είναι ένα υπερσύνολο των αναγνωριστικών των υπερ-κόμβων που είναι υπεύθυνοι για επερωτήσεις που ταιριάζουν με το $ p$ . Στη συνέχεια, ο $ S$ αφαιρεί τα διπλότυπα αναγνωριστικά και ταξινομεί την λίστα $ L$ κατά αύξουσα σειρά. Με αυτόν τον τρόπο το $ L$ περιέχει λιγότερα αναγνωριστικά από τις διπλότυπες λέξεις του συνόλου $ D_1 \cup \dots \cup D_n$ , αφού κάθε υπερ-κόμβος δύναται να είναι υπεύθυνος για περισσότερες από μία λέξεις που περιέχονται στο έγγραφο προς δημοσίευση. Έχοντας υπολογίσει το $ L$ , ο $ S$ ευρετηριάζει το $ p$ δημιουργώντας το μήνυμα $ msg = IndexResource(ip(P), key(P), ip(S), key(p), p)$ και αποστέλλοντάς το στους κατάλληλους κόμβους με τη συνάρτηση $ send(msg, L)$ .
Βήμα 3:
Τέλος, κάθε υπερ-κόμβος $ S'$ που παραλαμβάνει το μήνυμα $ msg$ αποθηκεύει το $ p$ σε ένα ανεστραμμένο ευρετήριο3.2 το οποίο θα διευκολύνει το ταίριασμά τους με τις στιγμιαίες επερωτήσεις που θα παραλάβει αργότερα ο $ S'$ από έναν πελάτη.



Charalampos Nikolaou 2008-04-02