Υλοποίηση Προσφερόμενων Πρωτοκόλλων

Σε αυτή την ενότητα θα παρουσιαστούν:

  1. ο τρόπος με τον οποίο πραγματοποιείται η χειραψία μεταξύ των πελατών και των υπερ-κόμβων σε κάθε πρωτόκολλο και
  2. επιλεγμένοι αλγόριθμοι που επιτυγχάνουν την λειτουργικότητα του συστήματος LibraRing (από την πλευρά των υπερ-κόμβων, οι οποίοι αποτελούν την καρδιά του συστήματος LibraRing).

Σημειώνεται ότι η επικοινωνία μεταξύ των πελατών και των υπερ-κόμβων, δηλαδή η αμφίδρομη αποστολή δεδομένων για την εξυπηρέτηση των διαφόρων αιτήσεων και λειτουργιών, όπως αυτές ορίζονται στα πρωτόκολλα του Κεφαλαίου 3, πραγματοποιείται με τη χρήση των πρωτοκόλλων TCP/IP και με χρήση υποδοχών (sockets). Όσον αφορά στα δεδομένα που ανταλλάσσονται μεταξύ αυτών των δύο τύπων οντοτήτων, πρέπει να τονιστεί ότι αποστέλλονται ως πρωταρχικές δομές δεδομένων (primitive data types) των αντίστοιχων αντικειμένων (objects) της Java. Για να γίνει κάτι τέτοιο, η Java τα σειρικοποιεί4.6 (serialise) στο ένα άκρο και τα αποσειρικοποιεί4.7 (deserialise) στο άλλο. Αυτό έχει την επίπτωση της εξαρτημένης υλοποίησης των υπερ-κόμβων και των πελατών, η οποία στη συγκεκριμένη περίπτωση, δεν είναι δυνατή σε άλλη γλώσσα προγραμματισμού εκτός της Java.

Στη συνέχεια θα χρησιμοποιηθούν οι συναρτήσεις που εισήχθηκαν στην υποενότητα των πρωτοκόλλων. Για την αναφορά στους υπερ-κόμβους, πελάτες και παρόχους θα χρησιμοποιούνται τα γράμματα $ S$ , $ C$ και $ P$ αντίστοιχα, ενώ για την αναφορά σε επερωτήσεις στιγμιαίες, διαρκείας, δημοσιεύσεις και ειδοποιήσεις τα $ q$ , $ cq$ , $ p$ και $ n$ αντίστοιχα. Κάθε γραμμή αναπαριστά την σειρικοποίηση και αποστολή ενός αντικειμένου δεδομένων (π.χ. ενός αλφαριθμητικού όπως το πρώτο και τελευταίο μήνυμα που αποστέλλεται από τους εμπλεκόμενους στην επικοινωνία για τη σηματοδοσία της έναρξης και σωστής λήξης της, ενός ακεραίου όπως το κλειδί ενός πελάτη ή παρόχου, της διεύθυνσης IP, μίας δημοσίευσης, μίας επερώτησης, κ.τλ.). Η οντότητα που παραλαμβάνει τα δεδομένα τα διαβάζει με την ίδια σειρά και με τον αντίστοιχο τύπο τους και προβαίνει στις ανάλογες ενέργειες, όπως αυτές έχουν περιγραφεί στα πρωτόκολλα του Κεφαλαίου 3.



Subsections

Charalampos Nikolaou 2008-04-02