Παράδοση Ειδοποιήσεων (μόνο για Υπερ-κόμβους)

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

   
        1. $ SuperPeer AnswerCQuery\backslash n$
        2. $ key(cq)$
        3. $ 1$ 4.9
        4. $ n$
   
Στη συνέχεια αναμένει την επιβεβαίωση από τον πελάτη, η οποία
πρέπει να είναι η
$ Client NotificationDelivered\backslash n$
   

Στη συνέχεια ακολουθεί ο αλγόριθμος δημιουργίας και αποστολής ειδοποίησης σε έναν πελάτη από έναν υπερ-κόμβο για κάποια ικανοποιημένη επερώτηση διαρκείας. Ο αλγόριθμος εκτελείται κατά την εισαγωγή μία νέας δημοσίευσης:

Table: Αλγόριθμος δημιουργίας και αποστολής ειδοποιήσεων.
Αλγόριθμος δημιουργίας και αποστολής ειδοποιήσεων
   
   
1. $ \mathbf{for} \mathbf{every} cq \mathbf{in} myStoredContinuousQueries \mathbf{do}$
2. $ \qquad \mathbf{if} match(cq, p) \mathbf{then}$
3. $ \qquad \qquad Notification n = createNotification(C, cq, key(p))$
4. $ \qquad \qquad \mathbf{if} C isOnline() \mathbf{then}$
5. $ \qquad \qquad \qquad notify(C, n)$
6. $ \qquad \qquad \mathbf{else}$
7. $ \qquad \qquad \qquad \bf {\textcolor{grey}{send(cq, ap)}}$ // ap is the access point of C
8. $ \mathbf{done}$
  // Finally, every access point that receives cq stores it
  // in its CT table and notifies C upon its reconnection
   
   

Charalampos Nikolaou 2008-04-02