Ευρετηριασμός Πόρων (μόνο για Παρόχους)

Το πρωτόκολλο του ευρετηριασμού των πόρων από την μεριά ενός παρόχου σημαίνει τη δημιουργία και αποστολή μίας περιγραφής δημοσίευσης σε έναν υπερ-κόμβο. Σε αυτό το πλαίσιο, η χειραψία είναι η επόμενη:

   
        1. $ Provider Publish\backslash n$
        2. $ key(P)$
        3. $ ip(P)$
        4. $ p$
   
Στη συνέχεια αναμένει την επιβεβαίωση από τον υπερ-κόμβο, η οποία
πρέπει να είναι η
$ SuperPeer Published\backslash n$
   

Στη συνέχεια ακολουθεί ο αλγόριθμος ευρετηριασμού και αποθήκευσης μίας δημοσίευσης:

Table: Αλγόριθμος ευρετηριασμού και αποθήκευσης δημοσιεύσεων.
Αλγόριθμος ευρετηριασμού και αποθήκευσης δημοσιεύσεων
   
   
1. $ String[] words = getDistinctWords(p)$
2. $ Set ids$
3. $ \mathbf{for} \mathbf{every} word \mathbf{in} words[] \mathbf{do}$
4. $ \qquad NodeId nodeId = \bf {\textcolor{grey}{lookup(word)}}$ 4.8
5. $ \qquad put(nodeId, ids)$
6. $ \mathbf{done}$
7. $ \mathbf{for} \mathbf{every} node \mathbf{in} ids \mathbf{do}$
8. $ \qquad \mathbf{if} responsibleFor(id, myId) \mathbf{then}$
9. $ \qquad \qquad \bf {\textcolor{grey}{insert(p)}} // procedure provided by DHT$
10. $ \qquad \qquad add(key(p), myStoredPublications)$
11. $ \qquad \mathbf{else}$
12. $ \qquad \qquad \bf {\textcolor{grey}{send(p, node)}}$
13. $ \mathbf{done}$
  // Finally all super-peers that receive p store it in PAST calling
  // insert(p) and add its key in their myStoredPublications table
   
   

Charalampos Nikolaou 2008-04-02