Υπερ-Κόμβοι (Super-Peers)

Η ````ζωή'''' ενός υπερ-κόμβου συνίσταται στην εκτέλεση μίας όμοιας, αέναης διαδικασίας. Από τη στιγμή της δημιουργίας του κάθε τέτοιος κόμβος καλεί την συνάρτηση $ run()$ , η οποία αυτό που κάνει είναι να αναγκάζει έναν υπερ-κόμβο να δέχεται ανελλιπώς αιτήσεις από έναν πελάτη ή έναν πάροχο. Η υλοποίηση αυτής της διαδικασίας έχει γίνει με τη χρήση νημάτων (threads), τα οποία προσφέρονται από την Java μέσω της κλάσης Thread. Αυτό σημαίνει, ότι κάθε υπερ-κόμβος έχει τη δυνατότητα να επεξεργάζεται περισσότερες από μία αιτήσεις (είτε από πελάτη, είτε από πάροχο) ψευδοπαράλληλα ή καλύτερα σύγχρονα. Σε αυτή τη συνάρτηση εκτελείται ουσιαστικά η χειραψία (handshake) μεταξύ των δύο οντοτήτων για την εξυπηρέτηση της αίτησης του πελάτη4.5 από τον υπερ-κόμβο. Αυτή η αίτηση μπορεί να αναφέρεται σε πέντε ενέργειες που μπορεί να χρειάζεται ο πελάτης-client και σε τέσσερις για τον πάροχο και η κάθε μία αντιστοιχεί σε μία συνάρτηση που θα κληθεί από τον υπερ-κόμβο για την εξυπηρέτησή τους. Αυτές μπορεί να είναι οι παρακάτω:



Πελάτης



Πάροχος



Charalampos Nikolaou 2008-04-02