Νέα πρωτόκολλα πρόσβασης στο μέσο για τοπικά δίκτυα εκπομπής

Σχετικά έγγραφα
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 16 Νοεμβρίου 2013

7.9 ροµολόγηση. Ερωτήσεις

Υπόστρωμα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer.

2 η Σειρά Ασκήσεων Data Link Layer

Δίκτυα Υπολογιστών Εργαστήρια

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

CSMA/CA στο Κατανεμημένα Ενσωματωμένα Συστήματα Πραγματικού Χρόνου

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Φροντιστήριο στο Mac Layer Καραγκούνης Δημήτρης

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

Εγγυημένη ποιότητα υπηρεσίας

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή σε Έννοιες των Δικτύων Υπολογιστών Κεφάλαιο 2 Αξιοπιστία Κεφάλαιο 3 Αλγόριθμοι Πολλαπλής Πρόσβασης...

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

... Αν ν = 16 εγκαταλείπει τις προσπάθειες μετάδοσης του πακέτου. Τοπολογία Διαύλου (BUS).

A1. Φυσικό επίπεδο 1. Αντιπαραθέσετε (κάνετε τη σύγκριση) με 2-3 προτάσεις την στατιστική πολυπλεξία και την πολυπλεξία με διαίρεση χρόνου.

Υπόστρωµα Ελέγχου Πρόσβασης Μέσου. Medium Access Control Sub-layer.

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: Δίκτυα Μεταγωγής & Τεχνικές Μεταγωγής Σε Δίκτυα Ευρείας Περιοχής

Υλοποίηση τεχνικών για την αποφυγή συμφόρησης σε τοπικά ασύρματα δίκτυα αισθητήρων

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Λύση: Λύση: Λύση: Λύση:

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Κινητές Επικοινωνίες & Τηλεπικοινωνιακά Δίκτυα

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 3 Πολυπλεξία

Ανάλυση Χρόνου, Πόρων & Κόστους

Κεφάλαιο 5: Τοπικά ίκτυα

1. Περιγράψετε τον πιο σημαντικό ρόλο του κάθε επιπέδου της TCP/IP στοίβας (δίνοντας και το όνομα του).

Δίκτυα Υπολογιστών I

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

Δίκτυα Υπολογιστών I

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

6. Διαχείριση Έργου. Έκδοση των φοιτητών

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Μάθημα 6: Αρχιτεκτονική TCP/IP

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

ΠΕΡΙΛΗΨΗ Δ.Δ ΔΗΜΗΣΡΑΚΟΠΟΤΛΟ

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα άμεσου συνδέσμου: Μέρος Α. Διάρθρωση. Δίκτυα άμεσου συνδέσμου και μοντέλο OSI (1/2) Ευάγγελος Παπαπέτρου

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Τρίτη Σειρά Ασκήσεων ΑΣΚΗΣΗ 1 ΑΣΚΗΣΗ 1 ΛΥΣΗ ΑΣΚΗΣΗ 2

Κινητές επικοινωνίες. Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA

Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Επαναληπτικές Ασκήσεις Μαθήματος

Εργαστήριο 9: Άλλες Λειτουργίες στα Δίκτυα Κινητών Επικοινωνιών

ΙΑΛΕΞΗ 6 Η. ίκτυα Υπολογιστών & Επικοινωνία. ιδάσκουσα: : ρ. Παντάνο Ρόκου Φράνκα. ίκτυα Υπολογιστών και Επικοινωνία. ιάλεξη 6: H Πολύπλεξη

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

ΟΜΑΔΕΣ. Δημιουργία Ομάδων

Σχήμα 1: TCP αποστολέας με παράθυρο αποστολέα = 1

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η

Δίκτυα Υπολογιστών I Εργαστήρια

Νέες Επικοινωνιακές Τεχνολογίες

Δρομολόγηση (Routing)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Δροµολόγηση (Routing)

Ειδικά Θέματα Δικτύων Ι

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Πρωτόκολλα Διαδικτύου

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Πρωτόκολλα Διαδικτύου

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Ερώτηση 1 η : Ποιες είναι οι γενιές των τοπικών δικτύων, και από ποια πρότυπα αντιπροσωπεύονται?

Πακέτα, Πλαίσια και Ανίχνευση Σφαλμάτων

ιάθεση ασύρµατων πόρων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Δίκτυα ATM. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 21-1

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

Transcript:

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Πληροφορικής Μεταπτυχιακό Πρόγραμμα Σπουδών Νέα πρωτόκολλα πρόσβασης στο μέσο για τοπικά δίκτυα εκπομπής Διατριβή του: Τσαλουχίδη Ανανία Επιβλέπων : Αναπλ. Καθηγητής, Γεώργιος Παπαδημητρίου Θεσσαλονίκη, Ιανουάριος 2008 1

Π ριν περάσουμε στην παρουσίαση της παρούσας διατριβής και των αποτελεσμάτων που προέκυψαν από την εκπόνησή της, θα ήθελα να ευχαριστήσω όσους συνέβαλαν στην υλοποίησή της αλλά και όσους στάθηκαν κοντά μου στο διάστημα της εκπόνησής της. Αρχικά θα ήθελα να ευχαριστήσω τα μέλη του Εργαστηρίου Αρχιτεκτονικής και Δικτύων Υπολογιστών του Τμήματος Πληροφορικής ΑΠΘ και συγκεκριμένα τον Αναπληρωτή Καθηγητή κ. Γ.Παπαδημητρίου για την ευκαιρία που μου έδωσε να ασχοληθώ σε βάθος με θέματα προσομοίωσης και ανάπτυξης πρωτοκόλλων σε δίκτυα εκπομπής και για την εποπτεία του καθ' όλη τη διάρκεια της εκπόνησης της εργασίας αυτής. Επιπλέον, θα ήθελα ιδιαίτερα να ευχαριστήσω τον υποψήφιο διδάκτορα του Τμήματος Πληροφορικής κ. Γεώργιο Πάλλα για το χρόνο που μου διέθεσε και για την πολύτιμη βοήθειά του σε θέματα σχεδίασης και υλοποίησης πρωτοκόλλων. Επίσης θα ήθελα να ευχαριστήσω την υποψήφια διδάκτορα του Τμήματος κα. Πετρίδου Σοφία για την καθοδήγησή της σε θέματα αλγορίθμων ομαδοποίησης και χρήσης τους για την υλοποίηση της παρούσας διατριβής. Τέλος θα ήθελα να ευχαριστήσω την οικογένεια μου και το στενότερο περιβάλλον μου για την ηθική συμπαράσταση που μου προσέφεραν στο διάστημα αυτό... 2

Περιεχόμενα 1 Περίληψη 4 2 Εισαγωγή 5 3 Σχεδίαση Δικτύων 6 4 Καθυστέρηση Μεταφοράς 6 5 Συμφόρηση Δικτύου 7 6 Ποιότητα Υπηρεσιών 8 7 Πρωτόκολλα Πρόσβασης στο Μέσο 9 8 Η Τεχνική της Ομαδοποίησης 15 8.1 Εισαγωγή στην ομαδοποίηση 15 8.2 Στόχοι και εφαρμογής της ομαδοποίησης 16 8.3 Στάδια ομαδοποίησης 16 8.4 Αλγόριθμος ομαδοποίησης k-means 19 9 Χρήση Μηχανισμών Ομαδοποίησης για Ανάπτυξη Νέων Πρωτοκόλλων 22 10 Παρουσίαση Νέου Πρωτοκόλλου 23 10.1 Τρόπος λειτουργίας 24 10.2 Λόγοι επιτυχίας 26 10.3 Μηχανισμός κατανομής εύρους ζώνης 28 11 Υλοποίηση Πρωτοκόλλου 30 12 Πειραματική Μελέτη Απόδοσης 33 13 Συμπεράσματα 40 14 Βιβλιογραφία 41 15 Παράρτημα 42 15.1 Πηγαίος κώδικας 42 3

Περίληψη Με την παρούσα εργασία θα προσπαθήσουμε να επεκτείνουμε τη χρήση των μηχανισμών ομαδοποίησης οντοτήτων στην ανάπτυξη νέων πρωτοκόλλων για τοπικά δίκτυα εκπομπής. Το γεγονός ότι οι μηχανισμοί ομαδοποίησης μας επιτρέπουν να ομαδοποιούμε αποτελεσματικά οντότητες με παρόμοια χαρακτηριστικά συμπεριφορά θα αποτελέσει το κλειδί στην ανάπτυξη ενός νέου πρωτοκόλλου το οποίο θα δίνει τη δυνατότητα στους σταθμούς ενός δικτύου να αξιοποιούν το κοινό μέσο μετάδοσης και το διαθέσιμο εύρος ζώνης ανάλογα με τα χαρακτηριστικά των ομάδων στις οποίες εντάσσονται. Το νέο πρωτόκολλο που θα παρουσιαστεί είναι ένα χωρίς συγκρούσεις πρωτόκολλο επιπέδου MAC το οποίο έχει τη δυνατότητα να κατανέμει το διαθέσιμο εύρος ζώνης του μέσου πρόσβασης στους σταθμούς ενός δικτύου ανάλογα με τις ανάγκες τους. Επίσης, το πρωτόκολλο έχει την ικανότητα να αντιλαμβάνεται τις ανάγκες των σταθμών του δικτύου ώστε η κατανομή του κοινού μέσου μετάδοσης μεταξύ των σταθμών να γίνεται με το βέλτιστο τρόπο. Ο διαχωρισμός των σταθμών του δικτύου σε ομάδες είναι απαραίτητος καθώς το πρωτόκολλο μετά την εφαρμογή του clustering αλγορίθμου έχοντας σαφή εικόνα των αναγκών της κάθε ομάδας σταθμών αποδίδει στην κάθε ομάδα εύρος ζώνης ικανό να ικανοποιήσει με το βέλτιστο τρόπο την ανάγκη της ομάδας cluster σε throughput προκειμένου οι ουρές των σταθμών που ανήκουν σε αυτή να αδειάζουν με όσο το δυνατό μικρότερη καθυστέρηση. 4

Εισαγωγή Στις μέρες μας η ραγδαία ανάπτυξη της τεχνολογίας έχει οδηγήσει και στην ταχύτατη ανάπτυξη της βιομηχανίας των ηλεκτρονικών υπολογιστών οι οποίοι πλέον αποτελούν αναπόσπαστο κομμάτι της καθημερινότητάς μας σε όλους τους τομείς. Ξεκινώντας από την οικιακή χρήση, συνεχίζοντας σε καθημερινές εφαρμογές στα πλαίσια λειτουργίας επιχειρήσεων και φτάνοντας μέχρι την ολοκλήρωση διαστημικών πειραμάτων, δημιουργείται η αναγκαία και επιτακτική ανάγκη σύνδεσης όλων αυτών των υπολογιστικών συστημάτων μεταξύ τους. Έτσι λοιπόν ενώ παλιότερα υπήρχε κάποιος υπολογιστής που εξυπηρετούσε όλες τις υπολογιστικές ανάγκες πλέον ο υπολογιστής αυτός έχει αντικατασταθεί από ένα σύνολο αυτόνομων αλλά διασυνδεδεμένων μεταξύ τους υπολογιστών. Αυτά τα συστήματα ονομάζονται δίκτυα υπολογιστών. Μιλώντας λοιπόν για δίκτυα υπολογιστών αναφερόμαστε στους διασυνδεδεμένους αυτούς υπολογιστές που συνδέονται με μία κοινή τοπολογία και μπορούν να ανταλλάσσουν μεταξύ τους δεδομένα και πληροφορίες. Σχεδίαση δικτύων Οι τεχνολογίες που χρησιμοποιούνται για τη μετάδοση των δεδομένων μεταξύ των συνδεδεμένων υπολογιστών μπορούμε να πούμε πως σε γενικές γραμμές είναι δύο : 1) Συνδέσεις εκπομπής και 2) Συνδέσεις από σημείο σε σημείο Τα δίκτυα εκπομπής (broadcast networks) έχουν ένα μόνο κοινό κανάλι επικοινωνίας το οποίο είναι κοινόχρηστο από όλους τους σταθμούς του δικτύου. Τα σύντομα μηνύματα που αποστέλλονται μεταξύ των συστημάτων τα ονομάζουμε πακέτα (packets). Μέσα σε κάθε πακέτο υπάρχει κάποιο πεδίο διεύθυνσης το οποίο προσδιορίζει τον παραλήπτη του συγκεκριμένου πακέτου. Έτσι μόλις κάποιος σταθμός λάβει ένα πακέτο ελέγχει αν όντως το πακέτο αυτό προορίζεται για αυτόν και αν αυτό ισχύει προχωρά στην επεξεργασία του. Τα δίκτυα εκπομπής επιπλέον παρέχουν τη δυνατότητα να αποστέλλεται ένα πακέτο σε όλους τους παραλήπτες του δικτύου χρησιμοποιώντας κάποια συγκεκριμένη διεύθυνση ως διεύθυνση παραλήπτη. Η λειτουργία αυτή ονομάζεται εκπομπή ή ευρεία μετάδοση (broadcasting). Από την άλλη, μιλώντας για δίκτυα από σημείο σε σημείο (point-to-point) αναφερόμαστε σε δίκτυα που υλοποιούνται με πολλαπλές συνδέσεις ανάμεσα σε ζεύγη υπολογιστών. 5

Ένας πολύ γενικός κανόνας είναι ότι τα μικρά σε έκταση δίκτυα συνήθως χρησιμοποιούν εκπομπή ενώ τα μεγάλα είναι συνήθως δίκτυα από σημείο σε σημείο. Αντικείμενο μελέτης της παρούσας διατριβής αποτελεί η προσέγγιση και ανάπτυξη νέων μεθόδων επικοινωνίας μεταξύ των σταθμών ενός δικτύου εκπομπής με αποτέλεσμα η μεταξύ τους επικοινωνία να είναι ταχύτερη και να πραγματοποιείται με αποδοτικότερο τρόπο μειώνοντας την καθυστέρηση που μεσολαβεί μεταξύ των μεταδόσεων των πακέτων και μειώνοντας τη συμφόρηση που προκαλείται στο δίκτυο. Καθυστέρηση μεταφοράς Ως καθυστέρηση μεταφοράς ορίζουμε το χρονικό διάστημα μεταξύ της αποστολής του πρώτου bit ενός κομματιού πληροφορίας και της λήψης του από το άλλο άκρο της επικοινωνίας. Κανένα δίκτυο δεν μπορεί να αποφύγει την καθυστέρηση μεταφοράς λόγω της καθυστέρησης μετάδοσης του σήματος στο φυσικό μέσο. Υπάρχουν και περιπτώσεις δικτύου που αυτή η καθυστέρηση οφείλεται και σε άλλους παράγοντες όπως η δρομολόγηση και η αναγέννηση. Καθυστερήσεις κατά τη μετάδοση της πληροφορίας σε ένα δίκτυο Η καθυστέρηση μεταφοράς αποτελεί ένα χαρακτηριστικό του δικτύου. Για τις περισσότερες εφαρμογές υπάρχει μια πιο σημαντική παράμετρος: η καθυστέρηση από άκρο σε άκρο, η οποία έχει τρεις συνιστώσες: 1. Το χρόνο που απαιτείται για να ελευθερωθεί το μέσο, ώστε να επιτραπεί η αποστολή των δεδομένων από το δίκτυο. Αυτή η καθυστέρηση ονομάζεται καθυστέρηση πρόσβασης (access delay) 2. Το χρόνο διάδοσης των δεδομένων πάνω στο φυσικό μέσο. 3. Την καθυστέρηση μεταφοράς που ορίσαμε πριν. Για τις interactive εφαρμογές ιδιαίτερη σημασία έχει και ο χρόνος απάντησης από τον λήπτη (round trip delay). Ο χρόνος αυτός δεν εξαρτάται πλήρως από το δίκτυο αλλά και από την ταχύτητα με την οποία απαντά ο λήπτης. 6

Συμφόρηση δικτύου Συμφόρηση εμφανίζεται όταν ο αριθμός των πακέτων που μεταδίδονται μέσω ενός δικτύου αγγίζει τη μέγιστη χωρητικότητα των πακέτων που μπορεί να διαχειριστεί το δίκτυο. Ο σκοπός του ελέγχου συμφόρησης είναι να διατηρήσει τον αριθμό των πακέτων μέσα στο δίκτυο κάτω από το επίπεδο στο οποίο η απόδοση μειώνεται δραματικά. Σχηματική απεικόνιση της συμφόρησης Αν τα πακέτα αρχίζουν να φθάνουν σε τρεις ή τέσσερις γραμμές εισόδου ενός δρομολογητή και όλα χρειάζονται την ίδια γραμμή εξόδου, δημιουργείται μία ουρά. Προσθέτοντας μνήμη στο δρομολογητή, απλώς μεγαλώνουν οι ουρές και οι καθυστερήσεις προκαλώντας timeouts στον αποστολέα και επαναμετάδοση του πακέτου. Αργοί επεξεργαστές και γραμμές χαμηλού εύρους ζώνης μπορούν να προκαλέσουν συμφόρηση. Αυξάνοντας τη ταχύτητα των στοιχείων αυτών συχνά η συμφόρηση μεταφέρεται από ένα μέρος σε άλλο. Η ύπαρξη συμφόρησης στον αποδέκτη αναγκάζει το μεταδότη να κρατάει unacknowledged πακέτα στον buffer του που υπό άλλες συνθήκες θα είχαν ελευθερωθεί. Αξίζει να σημειώσουμε τη διαφορά ανάμεσα στον έλεγχο συμφόρησης και στον έλεγχο ροής. Ο έλεγχος συμφόρησης εξασφαλίζει ότι το υποδίκτυο είναι ικανό να μεταφέρει τον προσφερόμενο φόρτο. Ο έλεγχος ροής πάντα προϋποθέτει κάποιο άμεσο feedback ανάμεσα στον αποστολέα και στον αποδέκτη κατά τη διάρκεια μιας point-to-point μεταφοράς δεδομένων μεταξύ αυτών. Αποτέλεσμα είναι ότι ένας μεταδότης μπορεί να δεχθεί μήνυμα «slow down» επειδή είτε ο αποδέκτης δε μπορεί να ανταπεξέλθει στο φόρτο είτε γιατί το δίκτυο δεν μπορεί να ανταπεξέλθει στο φόρτο. 7

Ποιότητα υπηρεσιών QoS Με τον όρο QoS (Quality of Service) στα δίκτυα περιγράφεται η δυνατότητα μέτρησης και βελτίωσης της απόδοσης τους. Στόχος του QoS είναι η εξασφάλιση των επιθυμητών αποτελεσμάτων απόδοσης όπως έχουν καθοριστεί από τους ρυθμιστικούς φορείς. Οι παράγοντες που συνήθως επηρεάζουν την ποιότητα των υπηρεσιών είναι η καθυστέρηση (ο χρόνος μετάβασης πληροφοριών), η διακύμανση στην καθυστέρηση, το διαθέσιμο εύρος ζώνης και η αξιοπιστία του μέσου μετάδοσης. Όπως λοιπόν αναφέρθηκε και προηγουμένως, αντικείμενο της παρούσας εργασίας είναι η εύρεση νέων μεθόδων επικοινωνίας (πρωτοκόλλων) με απώτερο στόχο την βελτιστοποίηση της ποιότητας υπηρεσιών ενός δικτύου. 8

Πρωτόκολλα πρόσβασης στο μέσο Κατά τη σχεδίαση πρωτοκόλλων πρόσβασης στο μέσο για δίκτυα εκπομπής, το δυσκολότερο πρόβλημα έγκειται στον τρόπο με τον οποίο κατανέμεται το κοινό μέσο μετάδοσης μεταξύ των σταθμών του τοπικού δικτύου δεδομένου ότι δεν υπάρχει κάποιο ξεχωριστό κανάλι για τη σηματοδοσία και έτσι όλα τα metadata πρέπει να μεταδίδονται με χρήση του καναλιού δεδομένων. Έτσι σπαταλάται μέρος του διαθέσιμου εύρους ζώνης και δεν υπάρχει κάποιος «κεντρικός» μηχανισμός βάσει του οποίου αποφασίζεται το ποιός σταθμός θα έχει πρόσβαση στο κοινό μέσο μετάδοσης. Μία λύση στο πρόβλημα αυτό θα ήταν να υιοθετήσουμε μοντέλα πολυπλεξίας χρόνου (TDMA) και με τη χρήση αλγορίθμων όπως ο RoundRobin οι σταθμοί να μεταδίδουν τα πακέτα τους ακολουθιακά ο ένας μετά τον άλλο. Μία τέτοια προσέγγιση όμως επηρεάζει αρνητικά την απόδοση του πρωτοκόλλου καθώς το πρωτόκολλο μπορεί να αποδίδει μέρος του διαθέσιμου εύρους ζώνης σε σταθμούς οι οποίοι δεν έχουν στις ουρές τους πακέτα να μεταδώσουν σε σύγκριση με άλλους οι οποίοι έχουν. Έτσι το διαθέσιμο εύρος ζώνης σπαταλάται καθώς οι σταθμοί που έχουν πακέτα στις ουρές τους «αναγκάζονται» να περιμένουν να έρθει η σειρά τους. Έτσι γίνεται αμέσως αντιληπτό ότι αυτή η προσέγγιση δεν θα ήταν πολύ χρήσιμη δεδομένου ότι στα πραγματικά τοπικά δίκτυα δεν έχουν πάντοτε όλοι σταθμοί πακέτα στις ουρές τους να μεταδώσουν και επομένως η σπατάλη του εύρους ζώνης είναι μεγάλη. Γι αυτό λοιπόν έπρεπε να υιοθετηθούν μοντέλα δυναμικής απόδοσης του διαθέσιμου εύρους ζώνης. Στις μέρες μας τα CSMA (Carrier Sense Multiple Access) πρωτόκολλα τα οποία χρησιμοποιούνται ευρέως στη βιομηχανία είναι αρκετά αποτελεσματικά καθώς είναι πολύ αποδοτικά και απλά στην υλοποίησή τους. Στα CSMA πρωτόκολλα κάθε σταθμός πριν μεταδώσει ένα πακέτο του, «ακροάται» το κοινό μέσο μετάδοσης προκειμένου να διαπιστώσει εάν βρίσκεται σε εξέλιξη η αποστολή πακέτου από κάποιον άλλο σταθμό του δικτύου. Εάν δε μεταδίδει κάποιος άλλος σταθμός τότε αποστέλλεται το πακέτο. Σε διαφορετική περίπτωση, είτε ο σταθμός περιμένει για ένα τυχαίο χρονικό διάστημα και επαναλαμβάνει την ίδια διαδικασία είτε «ακροάται» το κανάλι μέχρι να διαπιστώσει ότι δεν υπάρχει μετάδοση σε εξέλιξη και τότε στέλνει το πακέτο του. Ανάλογα με το ποιος από τους δύο αυτούς μηχανισμούς χρησιμοποιείται, τα CSMA πρωτόκολλα διακρίνονται σε non-persistent (οι σταθμοί περιμένουν) και σε 1-persistent (μόλις διαπιστώσουν ότι δεν πραγματοποιείται μετάδοση, στέλνουν το πακέτο τους). Τα non-persistent πρωτόκολλα επιτυγχάνουν μεγαλύτερη αξιοποίηση του εύρους ζώνης εμφανίζοντας όμως μεγαλύτερες καθυστερήσεις. 9

Λειτουργία non-persistent και 1-persistent CSMA πρωτοκόλλων Μία άλλη προσέγγιση βασισμένη στα CSMA πρωτόκολλα είναι το CSMA/CD (Collision Detection) με την οποία το πρωτόκολλο μπορεί να ανιχνεύσει μία σύγκρουση και να σταματήσει να μεταδίδει. Με αυτό τον τρόπο τα πακέτα αποστέλλονται αμέσως χωρίς να σπαταλάται χρόνος και εύρος ζώνης. Επιπλέον υπάρχουν και άλλες προσεγγίσεις οι οποίες θα μπορούσαν να υιοθετηθούν για δίκτυα με μεγάλη και καταιγιστική κίνηση. Σ αυτό το σημείο κρίνεται απαραίτητο να εξετάσουμε και τον τρόπο με τον οποίο λειτουργούν πρωτόκολλα τα οποία επιτυγχάνουν καλύτερη απόδοση. Για παράδειγμα το VPL/LTDMA χρησιμοποιεί ένα μοντέλο πιθανοτήτων βάσει του οποίου επιλέγεται ο σταθμός που θα μεταδώσει, και έτσι επιτυγχάνονται μικρότερες καθυστερήσεις και μεγαλύτερη αξιοποίηση του διαθέσιμου εύρους ζώνης. Σύμφωνα με αυτό το πρωτόκολλο κάθε σταθμός εφοδιάζεται με έναν αυτοματισμό μάθησης ο οποίος περιέχει την βασική πιθανότητα επιλογής Pi για κάθε σταθμό U i για i=1,,ν όπου Ν ο αριθμός των σταθμών. Πριν το VPL/ LTDMA επιλέξει τον επόμενο για μετάδοση σταθμό, η βασική επιλογή πιθανοτήτων όλων των σταθμών κανονικοποιείται ως εξής: Pi Π i = N P k = 1 Ο σταθμός που έχει «άδεια μετάδοσης» επιλέγεται σύμφωνα με τις κανονικοποιημένες πιθανότητες Πi με i=1,,ν. Μετά από κάθε μετάδοση η βασική πιθανότητα επιλογής Pi του επιλεγμένου σταθμού U i ενημερώνεται σύμφωνα με τις πληροφορίες ανάδρασης του δικτύου. Εάν ο σταθμός U i μεταδώσει ένα πακέτο όταν επιλεγεί, τότε η πιθανότητα επιλογής του U i k 10

θα αυξηθεί. Σε διαφορετική περίπτωση, εάν δηλαδή ο επιλεγμένος σταθμός είναι αδρανής, θα μειωθεί. Ένα άλλο πρωτόκολλο το οποίο θα μπορούσαμε να εξετάσουμε είναι το VPLAP. Ένα από τα κύρια σενάρια στο οποίο βασίζεται το VPLAP πρωτόκολλο είναι αυτό σύμφωνα με το οποίο ένας σταθμός που την τρέχουσα χρονική στιγμή μεταδίδει πακέτα θα συνεχίσει πιθανώς να μεταδίδει και στο κοντινό μέλλον. Αυτό επιβεβαιώνεται από το γεγονός ότι η κίνηση που παράγεται από ένα δίκτυο υπολογιστών είναι υψηλή σε ρύπους. Το VPLAP πρωτόκολλο έχει το πλεονέκτημα έναντι σε αυτό το γεγονός υλοποιώντας έναν αλγόριθμο μάθησης για την επιλογή σταθμών, ο οποίος αναθέτει διαφορετικές πιθανότητες επιλογής στον κάθε σταθμό σύμφωνα με τις ανάγκες τους: στους αδρανείς σταθμούς ανατίθεται μια χαμηλή πιθανότητα επιλογής ενώ σταθμοί με κίνηση έχουν υψηλή πιθανότητα επιλογής. Για παράδειγμα κάθε φορά που ένας αδρανής σταθμός επιλέγεται, μειώνεται η πιθανότητα επιλογής του στο μέλλον. Συνεπώς κατά την διάρκεια των επόμενων timeslots, θα έχει μειωθεί η πιθανότητα να επιλεγεί αυτός ο σταθμός έχοντας ως αποτέλεσμα μικρότερη σπατάλη χρόνου. Την ίδια στιγμή το εύρος ζώνης διατηρείται για να ανατεθεί σε σταθμούς που θα το χρησιμοποιήσουν. Αυτό το πρωτόκολλο βασίζεται στην φυσικότητα ενός broadcast δικτύου που επιτρέπει σε όλους τους σταθμούς να λαμβάνουν με την ίδια ανάδραση πληροφορίες και να ενημερώνονται για τα αυτόματά τους ανάλογα. Επιπλέον, δύο εξελίξεις των παραπάνω θα μπορούσαμε να πούμε ότι είναι το HyTDMA/HTS και το QoS HyTDMA/HTS. Το Hybrid TDMA, ευριστικά σχηματιζόμενης κυκλοφορίας, είναι ένα νέο χωρίς συγκρούσεις MAC πρωτόκολλο ικανό να διαχειρίζεται την κυκλοφορία σε ένα υπερφορτωμένο δίκτυο εκπομπής. Το HyTDMA HTS είναι ένα νέο με δυναμική κατανομή εύρους ζώνης πρωτόκολλο για το υπό-επίπεδο MAC και βασίζεται στην ιδέα ότι ένα MAC πρωτόκολλο θα κατανείμει τα διαθέσιμα timeslots στους σταθμούς ενός δικτύου σύμφωνα με τις εναλλασσόμενες ανάγκες τους για εύρος ζώνης. Συνεπώς στους σταθμούς που δεν έχουν κάποιο πακέτο να μεταδώσουν δε θα πρέπει να ανατίθεται το ίδιο εύρος ζώνης με τους σταθμούς που έχουν πολλά πακέτα στις ουρές τους. Επιπλέον, οι υπολογιστές σε ένα δίκτυο παράγουν κίνηση με προφίλ ρίπων που σημαίνει ότι οποιαδήποτε στιγμή ένας αδρανής σταθμός θα μπορούσε να παρουσιάσει αυξημένη κίνηση. Συμπεραίνουμε λοιπόν ότι χρειαζόμαστε ένα πρωτόκολλο που θα είναι ικανό να «προβλέψει» τις ανάγκες των σταθμών για χρήση εύρους ζώνης έτσι ώστε να μπορεί να προσαρμόσει την κατανομή του. Για παράδειγμα προκειμένου να ξανά ανατεθούν τα timeslots της μετάδοσης από τους σταθμούς που άδειασαν τις ουρές τους και δεν έχουν πια πακέτα στους σταθμούς που είναι έτοιμοι να μεταδώσουν νέα πακέτα. Με αυτόν τον τρόπο το πρωτόκολλο μπορεί να δράσει καλύτερα από το TDMA σε συνθήκες υψηλού φόρτου γιατί σε ένα δίκτυο υπολογιστών δε συνεισφέρουν όλοι οι 11

σταθμοί το ίδιο για τον υψηλό φόρτο και το HyTDMA HTS σχεδιάστηκε με τέτοιον τρόπο που κατανέμει το εύρος ζώνης μόνο ανάμεσα σε αυτούς τους σταθμούς που πραγματικά το χρειάζονται. Σύμφωνα με αυτή τη στρατηγική που εισάγει, το πρωτόκολλο HyTDMA-HTS είναι ικανό να επιτύχει μια πολύ καλή εκτέλεση με πολύ μικρές καθυστερήσεις πακέτων. Μετά από αυτή τη σύντομη παρουσίαση του πρωτοκόλλου ας δούμε τώρα πως ακριβώς λειτουργεί. Το HyTDMA-HTS βασίζεται στην ακόλουθη μέθοδο : Κάθε φορά που οι σταθμοί μεταδίδουν ένα πακέτο, ενθυλακώνουν μέσα στο frame μερικές επιπλέον πληροφορίες. Αυτές οι πληροφορίες αποτελούνται από δύο τμήματα: α) πόσα πακέτα απομένουν β) μέγεθος σε bits αυτής της ουράς. Με αυτόν τον τρόπο σε ένα δίκτυο εκπομπής όλοι οι σταθμοί γνωρίζουν κάθε στιγμή ποιοι σταθμοί έχουν δεδομένα να μεταδώσουν και ποιοι όχι. Το overhead που εισάγεται με τις μεταδιδόμενες πληροφορίες (μέγιστο 30 bits ανά μετάδοση = 10 bits για τον αριθμό των πακέτων στην ουρά + 20 bits για τον όγκο των δεδομένων στην ουρά) είναι περίπου ίσο με 0.5% ενός μέσου μεγέθους ενός Ethernet frame το οποίο θεωρείται ότι δε συμβάλλει σχεδόν καθόλου στην αύξηση της καθυστέρησης κατά την μετάδοση των πακέτων. Βασιζόμενοι σε αυτές τις επιπλέον πληροφορίες που μεταδίδονται, οι σταθμοί κατηγοριοποιούνται σε δύο δεξαμενές: αυτή των αδρανών σταθμών και αυτή των μη αδρανών σταθμών. Οι σταθμοί που αναφέρουν ότι έχουν σε αναμονή πακέτα στις ουρές τους τοποθετούνται στη δεύτερη (non-idle-station pool) ενώ αυτοί που αναφέρουν ότι η ουρά τους είναι άδεια τοποθετούνται στην πρώτη (idle-station pool). Αυτή η διάκριση είναι απαραίτητη αφού το HyTDMA-HTS επιλέγει κατά την μετάδοση των πακέτων σταθμούς και από τις δύο δεξαμενές με διαφορετική συχνότητα βασιζόμενο στο γεγονός ότι η non-idle-station pool θα πρέπει να έχει πολύ περισσότερο εύρος ζώνης στη διάθεση της από ότι η idle-station-pool. Έτσι για κάθε Ν σταθμούς που επιλέγονται για μετάδοση από την non-idle-station pool υπάρχει κι ένας σταθμός που επιλέγεται από την idle-station-pool. Η αναλογία Ν μπορεί φυσικά να προσαρμοστεί έτσι ώστε να ικανοποιούνται οι ανάγκες του δικτύου που θα υλοποιηθεί. Έτσι όταν ένα πακέτο φτάνει στην άδεια ουρά ενός αδρανή σταθμού, ο σταθμός θα το αναφέρει στην επόμενη επιλογή του από την idle-station pool και θα μετακινηθεί στην άλλη δεξαμενή. Ομοίως όταν ένας σταθμός μεταδώσει το τελευταίο πακέτο του θα μετακινηθεί στην idle-station-pool. Το πρωτόκολλο διατηρεί έναν μετρητή για κάθε σταθμό ώστε σύμφωνα με τη χρήση του αλγορίθμου round robin να αποφασίζεται η επιλογή του επόμενου σταθμού που θα μεταδώσει. Οι σταθμοί τόσο της idle-station όσο και της non-idle-station «δεξαμενής» που επιλέγονται, μετά τη μετάδοση τους αυξάνουν τον μετρητή σε έναν αριθμό μεγαλύτερο από όλους τους μετρητές τη δεξαμενής και έπειτα ο σταθμός με τον μικρότερο μετρητή, επιλέγεται για μετάδοση. 12

Όταν ένας σταθμός μετακινείται από τη μία δεξαμενή στην άλλη, με στόχο να τηρείται η ακολουθία του round robin, αλλάζει τον μετρητή του στον επόμενο μεγαλύτερο μετρητή της δεξαμενής στην οποία μετακινήθηκε. Θα πρέπει τώρα να εξηγήσουμε πως το πρωτόκολλο διατηρεί τους μετρητές για κάθε σταθμό: κάθε κόμβος έχει μία διάταξη προσαρμογέα δικτύου που υλοποιεί το HyTDMA-HTS πρωτόκολλο. Για παράδειγμα οι αλγόριθμοι που χρησιμοποιούνται όπως μια στοίβα με μετρητές για όλους τους σταθμούς του δικτύου. Αυτό σημαίνει ότι κάθε σταθμός γνωρίζει κάθε στιγμή τους μετρητές για όλους τους σταθμούς του δικτύου. Στη συνέχεια όλοι οι σταθμοί επιλέγουν ανεξάρτητα τον ίδιο σταθμό και δε συμβαίνουν συγκρούσεις. Οι στοίβες είναι πάντα συγχρονισμένες από τη στιγμή που ενημερώθηκαν χρησιμοποιώντας κοινό LAN feedback και δεν χρειάζεται να υπάρχει κάποιος συντονιστής. Η γενική ιδέα του πρωτοκόλλου είναι ότι υπάρχουν λοιπόν δύο δεξαμενές που συμβάλλουν στην οριστική αναλογία των πακέτων που μεταδίδονται και στην επιλογή του σταθμού που είναι ο επόμενος για μετάδοση. Με αυτόν τον τρόπο, σε συνθήκες υψηλής κίνησης ως αποτέλεσμα των μεταδόσεων όλων των σταθμών, το HyTDMA-HTS συμπεριφέρεται σαν το TDMA και πιο ευνοϊκά ενώ σε συνθήκες χαμηλής κίνησης δεν σπαταλάται καθόλου εύρος ζώνης. Το QoS - HyTDMA/HTS είναι ένα νέο δυναμικής ανάθεσης εύρους ζώνης πρωτόκολλο ικανό να προσφέρει χαρακτηριστικά QoS σε τοπικά δίκτυα τα οποία παρέχουν εγγυημένη πρόσβαση στο διαμοιραζόμενο μέσο. Το QoS - HyTDMA/HTS είναι ένα πλήρους γνώσης πρωτόκολλο χωρίς συγκρούσεις. Σε κάθε στιγμή όλοι οι σταθμοί στο δίκτυο γνωρίζουν ποιοι από αυτούς έχουν κίνηση στις ουρές τους αναμένοντα για μετάδοση και ποιοι όχι. Αυτό επιτυγχάνεται ενθυλακώνοντας στα μεταδιδόμενα data frames μερικές επιπλέον πληροφορίες που απαρτίζονται από το πόσα πακέτα απομένουν στην ουρά του σταθμού και το μέγεθός τους. Το overhead των επιπλέον πληροφοριών είναι μηδαμινό δοθέντος ενός μέσου μεγέθους Ethernet frame και ειδικότερα λαμβάνοντας υπ όψιν το συνολικό κέρδος της εκτέλεσης. Υπάρχουν και εδώ δύο δεξαμενές από τις οποίες επιλέγονται οι σταθμοί: η idlestation pool και η non-idle-station δεξαμενή όπου οι σταθμοί κατηγοριοποιούνται σύμφωνα με το μέγεθος της ουράς τους το οποίο ανέφεραν χρησιμοποιώντας τις επιπλέον πληροφορίες που είπαμε προηγουμένως. Στη συνέχεια το πρωτόκολλο επιλέγει τους σταθμούς για μετάδοση από τις δύο δεξαμενές με την προσαρμογή ενός round robin σχηματισμού επιφέροντας έτσι αρμονία στο δοθέν δίκτυο. Επιπλέον παρέχεται μηχανισμός ο οποίο προστατεύει τους σταθμούς από φαινόμενα starvation όταν υπάρχουν σταθμοί με μεγάλες ποσότητες κίνησης. Σ αυτήν την περίπτωση το πρωτόκολλο επιβάλει «penalties» σε αυτούς τους σταθμούς και αρνείται τη μετάδοση μέχρι το rate της μετάδοσής τους να συγκλίνει με ένα κοινού μέσου όρου rate. Επιπλέον ο QoS ρυθμιστής επεξεργάζεται τον QoS monitor μετρώντας και ρυθμίζοντας τα penalties σε περιπτώσεις σταθμών με υψηλή προτεραιότητα. Στην πράξη όσο η προτεραιότητα ενός σταθμού αυξάνει, τόσο τα penalties επιβάλλουν τη 13

μείωση της και στην περίπτωση της μέγιστης προτεραιότητας ενός σταθμού δεν επιβάλλονται καθόλου penalties. Πριν την εφαρμογή του round robin αλγορίθμου που παρέχεται, ο ρυθμιστής QoS ελέγχει αν το επιθυμητό πακέτο καθυστερεί τους υψηλής προτεραιότητας σταθμούς που ικανοποιήθηκαν. Όταν δε συμβαίνει αυτό ο μηχανισμός round robin παρακάμπτεται και επιλέγεται άμεσα ο σταθμός. 14

Η τεχνική της ομαδοποίησης (Clustering) Σε αυτό το κεφάλαιο θα αναλυθεί η τεχνική της ομαδοποίησης, καθώς η ανάπτυξη του νέου πρωτοκόλλου που θα αναλυθεί στη συνέχεια βασίζεται στην ομαδοποίηση και συγκεκριμένα στη χρήση του αλγορίθμου k-means. Εισαγωγή στην ομαδοποίηση Ένας απλός ορισμός για την ομαδοποίηση ή συσταδοποίηση (clustering): ομαδοποίηση ονομάζεται η διαδικασία που οργανώνει πρότυπα (παρατηρήσεις, δεδομένα ή διανύσματα χαρακτηριστικών) σε ομάδες (συστάδες-clusters), όπου τα μέλη μιας ομάδας είναι παρόμοια μεταξύ τους σύμφωνα με κάποιο κριτήριο. Σκοπός είναι να προσδιοριστούν οι ομάδες που ανήκουν διάφορες ποσότητες δεδομένων, με βάση κάποια κριτήρια ομοιογένειας. Η τεχνική της ομαδοποίησης υπάγεται στην ευρύτερη κατηγορία των τεχνικών μάθησης χωρίς επίβλεψη. Η διαφορά της ομαδοποίησης δεδομένων (data clustering) από την ταξινόμηση δεδομένων (data classification) είναι ότι, στην ταξινόμηση οι ομάδες στις οποίες θα τοποθετηθούν τα δεδομένα είναι προκαθορισμένες. Αυτό σημαίνει, ότι είναι εκ των προτέρων γνωστός ο αριθμός των ομάδων, τα ονόματα και οι ταυτότητες τους. Είναι και αυτό ένα σύστημα μάθησης μιας και οι ετικέτες που δίνονται από τα διαθέσιμα πρότυπα χρησιμοποιούνται ώστε να μάθει το σύστημα ταξινόμησης την περιγραφή κάθε κλάσης και να είναι σε θέση να ταξινομήσει ένα νέο πρότυπο. Αντίθετα, στην ομαδοποίηση δεδομένων τονίζεται ιδιαίτερα ότι οι ομάδες δεν προϋπάρχουν αλλά αποφασίζονται από τον αλγόριθμο με δυναμικό τρόπο. Στην ομαδοποίηση δεδομένων δηλαδή, υπάρχει ένα σύνολο δεδομένων το οποίο πρέπει να διαχειριστεί ώστε από αυτό να προκύψουν δυναμικά οι ομάδες (είναι δηλαδή data driven). Σκοπός είναι να δημιουργηθούν ομάδες, που η καθεμία από αυτές θα συγκεντρώνει ομοιογενή στοιχεία. Κάθε μία από αυτές τις ομάδες διατηρεί ένα κέντρο, συνήθως το πιο κεντρικό στοιχείο της. Ένα παράδειγμα ομαδοποίησης δίνεται στην παρακάτω εικόνα, όπου αριστερά παρουσιάζεται το αρχικό σύνολο των στοιχείων πριν την ομαδοποίηση και δεξιά η καταχώρηση των στοιχείων σε clusters. Ομαδοποίηση δεδομένων 15

Στόχοι και εφαρμογές ομαδοποίησης Τα προβλήματα της ομαδοποίησης είναι πλέον διαδεδομένα και ταχέως αναπτυσσόμενα τα τελευταία χρόνια. Φυσικά το γεγονός αυτό δεν είναι τυχαίο μιας και η τεχνική της ομαδοποίησης εφαρμόζεται σε πολλά προβλήματα της σύγχρονης εποχής και δίνει λύσεις. Προφανώς είναι μία τεχνική που βοηθάει στη λήψη αποφάσεων. Η ποικιλία των εφαρμογών της ομαδοποίησης είναι μεγάλη σε πολλά επιστημονικά πεδία. Σημαντικές εφαρμογές εμφανίζονται στον χώρο του marketing, όπου είναι δυνατόν να ανακαλυφθούν ομάδες πελατών με παρόμοια συμπεριφορά, μέσω μια μεγάλης βάσης δεδομένων που έχει καταχωρημένα πολλά δεδομένα σχετικά με τα χαρακτηριστικά της αγοραστικής συμπεριφοράς των πελατών, όπως και τις αγορές που έχουν κατά καιρούς πραγματοποιήσει αυτοί στο παρελθόν. Στην ιατρική, χρησιμοποιείται για την κατηγοριοποίηση των ασθενών ανάλογα με την σοβαρότητα της κατάστασης της υγείας τους. Επίσης, είναι δυνατόν να χρησιμοποιηθεί για τον εντοπισμό ασθενειών ή μολυσμένων κυττάρων. Στον χώρο της βιολογίας, είναι δυνατόν, να ομαδοποιηθούν φυτά και ζώα με παρόμοια χαρακτηριστικά. Στον κλάδο της αστρονομίας υπάρχουν εφαρμογές για την κατηγοριοποίηση των ουράνιων σωμάτων. Στον ολοένα αναπτυσσόμενο τομέα της διοίκησης επιχειρήσεων, όπου με την εφαρμογή τεχνικών ομαδοποίησης αναλύονται η συμπεριφορά και αγοραστική δύναμη και άλλα σχετικά στοιχεία των πελατών. Φυσικά η τεχνική της ομαδοποίησης σχετίζεται άμεσα με την τεχνική της βελτιστοποίησης και έτσι οι εφαρμογές της πολλαπλασιάζονται σε εύρεση ομοιογενών ομάδων στοιχείων με πληρωμή ελάχιστου κόστους, μέγιστου κέρδους, μικρότερης δυνατής διαδρομής και άλλα. Στον χώρο των ασφαλιστικών εταιριών, αναγνωρίζονται οι ομάδες των ασφαλιζόμενων και ομαδοποιούνται ανάλογα με τις απαιτήσεις τους, το κόστος του ασφαλιστικού συμβολαίου και άλλα χαρακτηριστικά. Υπάρχει ακόμη και η δυνατότητα να αναγνωριστούν οι δολιοφθορές εις βάρος της εταιρείας. Πολύ σημαντικές εφαρμογές στο Web, κατηγοριοποίηση εγγράφων, κατηγοριοποίηση χρηστών με βάση διάφορα χαρακτηριστικά που μπορεί να ενδιαφέρουν τους σκοπούς της εκάστοτε έρευνας και άλλες πολλές εφαρμογές. Έτσι ανακαλύπτονται ομάδες παρόμοιων προτύπων. Το πρόβλημα της ομαδοποίησης, μπορεί να εκφραστεί μαθηματικά ως εξής: Έστω το σύνολο των δεδομένων X = { x κ, κ = 1, 2,.../ i = 1, 2... n. Έστω το σύνολο των i ομάδωνc = { cj / j = 1,2,... m και m>1, τέτοιο ώστε κάθε xi να ανήκει σε κάποιο c j. Πρακτικά δίνεται ένα μεγάλο σύνολο δεδομένων που πρέπει να διαχειριστεί. Σκοπός είναι να δημιουργηθούν ομάδες όπου η καθεμία θα συγκεντρώνει ομοιογενή στοιχεία. Η αποδοτικότητα των αλγορίθμων ομαδοποίησης σχετίζεται άμεσα με το είδος των δεδομένων που θα διαχειριστούν καθώς και τα κριτήρια ομοιογένειας ή ανομοιογένειας που θα χρησιμοποιηθούν. Στάδια ομαδοποίησης Για την επίλυση ενός προβλήματος ομαδοποίησης δεδομένων συνήθως ακολουθούνται τα παρακάτω βήματα: Αναπαράσταση των προτύπων (επιλεκτικά μπορεί να περιέχει εξαγωγή χαρακτηριστικών, και/ή επιλογή) 16

Καθορισμός μιας μετρικής, ενδεικτικής της γειτνίασης των προτύπων, ανάλογα με τον τύπο δεδομένων Τεχνική ομαδοποίησης των δεδομένων Αφαίρεση δεδομένων (αν χρειαστεί) Αξιολόγηση του τελικού αποτελέσματος Είναι χαρακτηριστικό ότι η ομαδοποίηση είναι μια διαδικασία με επανατροφοδότηση: το αποτέλεσμα της διαδικασίας επανατροφοδοτείται στο σύστημα, το οποίο συνδυάζοντας το αποτέλεσμα αυτό με τις υπόλοιπες εισόδους, προχωράει στην εξαγωγή χαρακτηριστικών και στους υπολογισμούς των σχέσεων ομοιότητας, με στόχο την τελική εξαγωγή των ομάδων. Η αναπαράσταση των προτύπων αναφέρεται στο πλήθος των κλάσεων, το πλήθος των διαθέσιμων προτύπων και το πλήθος, τύπο και κλίμακα των χαρακτηριστικών που είναι διαθέσιμα στον συγκεκριμένο αλγόριθμο ομαδοποίησης. Ωστόσο, μερικά από τα προηγούμενα δεν είναι πάντα άμεσα διαθέσιμα. Ενδιαφέρον παρουσιάζει η διαδικασία της επιλογής χαρακτηριστικών (features selection), κατά την οποία επιλέγονται τα πιο σημαντικά χαρακτηριστικά των στοιχείων τα οποία θα χρησιμοποιηθούν στο clustering. Επιπλέον, η διαδικασία της εξαγωγής χαρακτηριστικών (features extraction) χρησιμοποιεί έναν ή περισσότερους μετασχηματισμούς των χαρακτηριστικών εισόδου, για την παραγωγή άλλων νέων, τα οποία πιθανόν να είναι πιο ενδιαφέροντα. Οποιαδήποτε από τις τεχνικές αυτές, μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός συνόλου με τα πιο κατάλληλα χαρακτηριστικά, που θα χρησιμοποιηθεί για την αναπαράσταση των στοιχείων που προορίζονται για ομαδοποίηση. Η γειτνίαση των προτύπων συνήθως μετριέται με βάση μία συνάρτηση απόστασης που ορίζεται για ζεύγη προτύπων. Η πιο απλή συνάρτηση απόστασης είναι η Ευκλείδεια. Η συνάρτηση απόστασης η οποία επιλέγεται, αποτελεί κάθε φορά το μέτρο της ομοιότητας μεταξύ των προτύπων. Με βάση αυτό το μέτρο γίνεται η καταχώρηση τους στην ίδια ή σε διαφορετικές ομάδες. Το πόσο επιτυχημένο θεωρείται το αποτέλεσμα της ομαδοποίησης δεδομένων, εξαρτάται από τα κριτήρια που θα χρησιμοποιηθούν για τον διαχωρισμό των στοιχείων σε ομάδες. Η σωστή επιλογή των κριτηρίων αυτών είναι ένα πολύ σημαντικό ζήτημα. Το στάδιο της ομαδοποίησης μπορεί να πραγματοποιηθεί με πολλούς τρόπους. Υπάρχουν πολλοί αλγόριθμοι ομαδοποίησης, καθένας μπορεί να έχει διαφορετικό αποτέλεσμα είτε αυστηρό, είτε ασαφές. Το στάδιο αυτό αποτελεί και το κυρίως μέρος της όλης διαδικασίας της ομαδοποίησης. Εδώ είναι το σημείο που πρέπει να επιλεγεί ο αλγόριθμος που θα χρησιμοποιηθεί για την επίλυση του προβλήματος. Φυσικά το μέτρο ομοιότητας που επιλέχτηκε παραπάνω θα χρησιμοποιηθεί από τον αλγόριθμο που θα επιλεγεί. Οι αλγόριθμοι που επιλύουν προβλήματα ομαδοποίησης είναι πολλοί και στηρίζονται σε διαφορετικές τεχνικές. Η επιλογή εξαρτάται από τη μορφή των δεδομένων και από τον χρήστη. Οι κύριες κατηγορίες των αλγόριθμων ομαδοποίησης είναι δύο, οι διαμεριστικές και οι ιεραρχικές. Οι ιεραρχικοί αλγόριθμοι προσπαθούν να δημιουργήσουν μια ιεραρχία μεταξύ των σημείων που προορίζονται για ομαδοποίηση. Δημιουργούν ένα δενδρόγραμμα που υποδηλώνει το μέγεθος και τον αριθμό των ομάδων που δημιούργησαν. Κάθε κόμβος του δέντρου έχει παιδιά τα σημεία που συγχωνεύτηκαν στην ίδια ομάδα. Ανάλογα με 17

το αν βρίσκονται κοντά ή μακριά από τη ρίζα προκύπτουν λίγες ομάδες με πολλά σημεία ή πολλές ομάδες με λίγα σημεία αντίστοιχα. Οι ιεραρχικοί αλγόριθμοι χωρίζονται στους συσωρευτικούς και στους διαιρετικούς. Οι συσωρευτικοί ξεκινούν θεωρώντας ότι κάθε σημείο είναι ένα από μόνο του μια ομάδα που περιέχει μόνο τον εαυτό του και στη συνέχεια πραγματοποιούν συγχωνεύσεις. Οι διαιρετικοί λειτουργούν αντίστροφα. Θεωρούν ότι αρχικά υπάρχει μία ομάδα με μέσα όλα τα σημεία και στη συνέχεια διαιρούν την ομάδα αυτή σε μικρότερες. Οι διαμεριστικοί αλγόριθμοι χωρίζουν τα δεδομένα από την αρχή σε ένα συγκεκριμένο αριθμό από ομάδες και έπειτα βελτιστοποιούν το αποτέλεσμα. Και αυτοί χωρίζονται σε περεταίρω κατηγορίες. Οι αλγόριθμοι που είναι βασισμένοι στην πυκνότητα δημιουργούν ομάδες με βάση την πυκνότητα των αντικειμένων στο χώρο. Ένα σημείο το οποίο ανήκει σε κάποια ομάδα θα πρέπει να έχει στη γειτονιά του (ορίζεται η ακτίνα της γειτονιάς του σημείου) ένα συγκεκριμένο αριθμό από άλλα σημεία. 18

Αλγόριθμος k-means Σε αυτό το κεφάλαιο θα περιγραφεί ο διαμεριστικός αλγόριθμος k-means και διάφορα θέματα γύρω από αυτόν, όπως το πώς δουλεύει και τί πλεονεκτήματα παρουσιάζει. Ο διαμεριστικός αλγόριθμος k-means είναι ένας από τους πιο απλούς και δημοφιλέστερους αλγορίθμους ομαδοποίησης που ανήκουν στην ευρύτερη κατηγορία των τεχνικών μάθησης χωρίς επίβλεψη. Ο αλγόριθμος αυτός είναι δημοφιλής εξαιτίας της απλότητας της υλοποίησης του και της γραμμικής πολυπλοκότητας του η οποία είναι της τάξης n (Ο(n)), όπου n το σύνολο των στοιχείων. Η διαδικασία της ομαδοποίησης ενός συνόλου δεδομένων με βάση τον k-means είναι εύκολη, αρκεί να είναι εκ των προτέρων καθορισμένος ο αριθμός (k) των clusters (ομάδων) που θα προκύψουν. Η κύρια ιδέα είναι να προσδιοριστούν αρχικά k centroids (κεντροειδή), ένα για κάθε cluster. Αυτά τα αρχικά centroids πρέπει να επιλεγούν με επιδέξιο τρόπο, γιατί διαφορετικές αρχικές θέσεις για τα centroids δίνουν διαφορετικά αποτελέσματα. Δηλαδή, η αρχική θέση των centroids επηρεάζει το αποτέλεσμα που θα δώσει ο αλγόριθμος. Έτσι, συχνά θεωρείται καλύτερη η επιλογή εκείνων των centroids ώστε να απέχουν μεταξύ τους όσο περισσότερο γίνεται. Το επόμενο βήμα είναι επιλογή κάθε στοιχείου από το σύνολο δεδομένων και συσχέτιση του με το κοντινότερο σε αυτό centroid. Όταν αυτό γίνει για όλα τα στοιχεία του συνόλου δεδομένων, το πρώτο βήμα έχει ολοκληρωθεί και μία πρώτη και «πρόχειρη» ομαδοποίηση έχει ήδη προκύψει. Στη συνέχεια, απαιτείται να υπολογιστούν ξανά k νέα centroids, τα οποία θα αποτελούν το κέντρο βάρους για κάθε ένα cluster που προέκυψε από το προηγούμενο βήμα. Αφού λοιπόν οριστούν τα νέα k centroids, ακολουθεί και πάλι η ίδια διαδικασία ανάθεσης καθενός από τα στοιχεία του συνόλου δεδομένων στο κοντινότερο με αυτό, νέο πλέον, centroid. Έτσι, γίνεται μια επανάληψη της ίδιας διαδικασίας. Αποτέλεσμα αυτής της επανάληψης είναι ότι σε κάθε βήμα τα centroids αλλάζουν θέση (ορίζονται νέα) και τα στοιχεία ανατίθενται στο κατάλληλο cluster κάθε φορά με βάση το κοντινότερο centroid. Όταν σε κάποια επανάληψη δεν σημειωθούν αντιμεταθέσεις στοιχείων, τότε τερματίζει η εκτέλεση του αλγορίθμου. Το αποτέλεσμα που προκύπτει είναι η ομαδοποίηση του συνόλου δεδομένων σε k clusters. Ο αλγόριθμος στοχεύει να ελαχιστοποιήσει μία αντικειμενική συνάρτηση, την λεγόμενη συνάρτηση τετραγωνικού λάθους που ορίζεται ως εξής: J k n = j= 1 i= 1 x ( j) i c j 2, όπου x i ( j) c j 2 είναι ένα μέτρο απόστασης που ( j) χρησιμοποιείται για να μετρά την απόσταση κάθε στοιχείου xi από το centroid c του κάθε cluster. Όπου n το σύνολο των στοιχείων του συνόλου δεδομένων. j Ο παρακάτω πίνακας δείχνει συνοπτικά τα βήματα του αλγορίθμου k-means: Είσοδος: D= { x1, x2,..., x n // Σύνολο στοιχείων k // Αριθμός επιθυμητών clusters Έξοδος: k // Σύνολο clusters k-means αλγόριθμος: 19

Ανέθεσε τιμές στα αρχικά centroids c1, c2,..., c k ; Επανέλαβε Ανέθεσε κάθε x i στο cluster με του οποίου το centroid η απόσταση είναι η μικρότερη; Υπολόγισε νέα centroids για κάθε cluster; Μέχρι να συναντηθεί το κριτήριο σύγκλισης; Βήματα k-means Αν και μπορεί να αποδειχθεί ότι ο αλγόριθμος πάντα τερματίζει, αξίζει να τονιστεί ότι δεν καταφέρνει πάντα να βρίσκει τη βέλτιστη λύση. Ο αλγόριθμος επηρεάζεται σημαντικά από τα αρχικά centroids. Για αυτό πολλές φορές συνίσταται η εκτέλεση του πολλές φορές μέχρι να μειωθεί η επίδραση αυτή. Έστω ότι υπάρχουν n διανύσματα τα x1, x2,..., x n και όλα είναι της ίδια διάστασης. Ακόμη είναι γνωστό ότι όλα εμπίπτουν σε k συμπαγή clusters, για k<n. Έστω m i είναι το μέσο διάνυσμα του i cluster. Εφόσον τα clusters είναι σαφώς διαχωρισμένα μεταξύ τους, μπορεί να χρησιμοποιηθεί σαν μέτρο απόστασης μεταξύ των στοιχείων η Ευκλείδεια απόσταση ή και άλλα δημοφιλή μέτρα απόστασης, που έχουν αναλυθεί σε προηγούμενο κεφάλαιο. Αυτό σημαίνει ότι σε κάθε βήμα θα λέγεται: το στοιχείο x ανήκει στο cluster i, εάν η Ευκλείδεια απόσταση του από το centroid του i cluster είναι η μικρότερη σε σχέση με όλες τις άλλες αποστάσεις του από τα centroids των άλλων clusters. Έτσι βρίσκονται οι Ευκλείδειες αποστάσεις για όλα τα στοιχεία και κάθε ένα από αυτά ανατίθεται στο cluster από του οποίου το centroid απέχει λιγότερο (δηλαδή η Ευκλείδεια απόσταση είναι η μικρότερη). Στην συνέχεια υπολογίζονται τα νέα centroids και μετά πάλι οι Ευκλείδειες αποστάσεις όλων των στοιχείων για τα νέα centroids. Γίνονται οι κατάλληλες μετακινήσεις στοιχείων και η ίδια διαδικασία επαναλαμβάνεται μέχρι κανένα στοιχείο να μην μετακινείται σε άλλο cluster, δηλαδή τα clusters να μένουν αμετάβλητα. Βήματα k-means Παράδειγμα: Δίνονται: {2,4,10,12,3,20,30,11,25, k=2 Τυχαία ανάθεσε μέσους όρους: m1=3,m2=4 K1={2,3, K2={4,10,12,20,30,11,25, m1=2.5,m2=16 20

K1={2,3,4,K2={10,12,20,30,11,25, m1=3,m2=18 K1={2,3,4,10,K2={12,20,30,11,25, m1=4.75,m2=19.6 K1={2,3,4,10,11,12,K2={20,30,25, m1=7,m2=25 Σταμάτησε όταν τα clusters με αυτούς τους μέσους παραμένουν αμετάβλητα 21

Χρήση μηχανισμών Clustering για ανάπτυξη νέων πρωτοκόλλων σε δίκτυα εκπομπής Αναγνωρίζοντας λοιπόν τα οφέλη που προκύπτουν από τη χρήση μηχανισμών ομαδοποίησης, στην παρούσα διατριβή θα προσπαθήσουμε να επεκτείνουμε τη χρήση των μηχανισμών αυτών στην ανάπτυξη νέων πρωτοκόλλων για τοπικά δίκτυα εκπομπής. Το γεγονός ότι οι μηχανισμοί clustering μας επιτρέπουν να ομαδοποιούμε αποτελεσματικά οντότητες με παρόμοια χαρακτηριστικά συμπεριφορά θα αποτελέσει το κλειδί στην ανάπτυξη ενός νέου πρωτοκόλλου το οποίο θα δίνει τη δυνατότητα στους σταθμούς ενός δικτύου να αξιοποιούν το κοινό μέσο μετάδοσης και το διαθέσιμο εύρος ζώνης ανάλογα με τα χαρακτηριστικά των ομάδων στις οποίες εντάσσονται. Έτσι ομάδες με υψηλές ανάγκες θα εξυπηρετούνται με διαφορετικό τρόπο σε σχέση με αυτές που έχουν χαμηλότερες ανάγκες και ο τρόπος με τον οποίο θα επιτυγχάνεται αυτό θα βασίζεται στην αναγνώριση των αναγκών της κάθε ομάδας που προκύπτουν έμμεσα από το προφίλ της δικτυακής τους συμπεριφοράς. Επιπλέον, αν και όπως ήδη αναλύσαμε, δυσεπίλυτο πρόβλημα των τεχνικών ομαδοποίησης αποτελεί η επιλογή του βέλτιστου πλήθους των ομάδων clusters, για τις ανάγκες της υλοποίησής του νέου πρωτοκόλλου κάτι τέτοιο δε θα πρέπει να μας απασχολεί ιδιαίτερα καθώς σ ένα τοπικό δίκτυο θα μπορούσαμε εύκολα να υιοθετήσουμε το σκεπτικό ότι δε μπορούν να συνυπάρχουν περισσότερες των τριών ή τεσσάρων ομάδων. Συγκεκριμένα θα μπορούσαμε να δεχτούμε ότι υπάρχει μία ομάδα με πολύ χαμηλές ανάγκες (σταθμοί χρηστών του δικτύου που δεν παρουσιάζουν ιδιαίτερη κίνηση), μία ομάδα με αυξημένες ανάγκες σε σχέση με την πρώτη (σταθμοί οι οποίοι δημιουργούν κίνηση στο δίκτυο μας), μία τρίτη ομάδα της οποίας οι σταθμοί κάνουν υψηλή χρήση του μέσου (εξυπηρετητές χωρίς όμως πολύ αυξημένες ανάγκες) και μία τέταρτη ομάδα που αποτελείται από τους κύριους εξυπηρετητές του δικτύου μας που παράγουν και την περισσότερη δικτυακή κίνηση. 22

Παρουσίαση ενός νέου πρωτοκόλλου Το νέο πρωτόκολλο που θα παρουσιαστεί είναι ένα χωρίς συγκρούσεις πρωτόκολλο επιπέδου MAC το οποίο έχει τη δυνατότητα να κατανέμει το διαθέσιμο εύρος ζώνης του μέσου πρόσβασης στους σταθμούς ενός δικτύου ανάλογα με τις ανάγκες τους. Για παράδειγμα, ομάδες σταθμών οι οποίες έχουν υψηλούς ρυθμούς άφιξης πακέτων και μεγάλο μέσο μέγεθος των πακέτων που φτάνουν στις ουρές τους θα πρέπει να έχουν μεγαλύτερη προτεραιότητα για χρήση του κοινού μέσου μετάδοσης προκειμένου να ικανοποιήσουν τις ανάγκες τους για μετάδοση πακέτων. Αντιθέτως, σταθμοί οι οποίοι δεν εμφανίζουν τόσο υψηλές ανάγκες μπορούν να ικανοποιήσουν τις ανάγκες τους και με απόδοση μικρότερου ποσοστού του διαθέσιμου εύρους ζώνης του μέσου. Γι αυτό, το πρωτόκολλο που αναπτύχθηκε θα πρέπει να έχει την ικανότητα να αντιλαμβάνεται τις ανάγκες των σταθμών του δικτύου ώστε η κατανομή του κοινού μέσου μετάδοσης μεταξύ των σταθμών να γίνεται με το βέλτιστο τρόπο. Κλειδί στην επιτυχία του πρωτοκόλλου αποτέλεσε η κατηγοριοποίηση των σταθμών του δικτύου ανάλογα με το προφίλ της δικτυακής τους κίνησης. Έτσι σταθμοί οι οποίοι εμφανίζουν παρόμοια δικτυακή συμπεριφορά εντάσσονται στην ίδια ομάδα και «διεκδικούν» με αντίστοιχο τρόπο τη χρήση του εύρους ζώνης. Για να επιτευχθεί αυτό, το πρωτόκολλό μας ενσωμάτωσε τη χρήση μεθόδων clustering με εφαρμογή των οποίων εντοπίζονται σταθμοί με παρόμοια συμπεριφορά. Οι μετρικές οι οποίες χρησιμοποιούνται για την κατηγοριοποίηση και των χωρισμό των σταθμών σε ομάδες - clusters, είναι ο ρυθμός άφιξης δημιουργίας των πακέτων στις ουρές των σταθμών του δικτύου και το μέσο μέγεθος των πακέτων που δημιουργούνται στις ουρές των σταθμών. Ως αποτέλεσμα σταθμοί οι οποίοι έχουν παρόμοια χαρακτηριστικά ως προς το ρυθμό άφιξης των πακέτων τους και το μέσο μέγεθος των πακέτων που μεταδίδουν θα ενταχθούν στην ίδια ομάδα. Επιπλέον όμως η χρήση αυτής της μεθόδου μας δίνει τη δυνατότητα της αναπροσαρμογής, ανά τακτά χρονικά διαστήματα, των ομάδων που δημιουργούνται και επομένως της δυναμικής κατανομής του διαθέσιμου εύρους ζώνης με την πάροδο του χρόνου καθώς η συμπεριφορά των σταθμών μπορεί να αλλάζει. Αν ακολουθούσαμε κάποιο στατικό μοντέλο κατανομής του εύρους ζώνης (TDMA πρωτόκολλα) αυτό δε θα αντιπροσώπευε την πραγματική συμπεριφορά των σταθμών ενός πραγματικού τοπικού δικτύου. Εξηγώντας αναλυτικότερα τον τρόπο λειτουργίας του πρωτοκόλλου θα μπορέσουμε να καταλάβουμε καλύτερα το πώς το πρωτόκολλο πετυχαίνει μικρότερες καθυστερήσεις στις μεταδόσεις των πακέτων επιτυγχάνοντας παράλληλα καλύτερη διαχείριση του διαθέσιμου εύρους ζώνης. 23

Τρόπος λειτουργίας του πρωτόκολλου Ο τρόπος με τον οποίο λειτουργεί το πρωτόκολλο είναι ο ακόλουθος: Αρχικά θεωρούμε ότι όλοι οι σταθμοί του δικτύου ανήκουν στην ίδια ομάδα cluster και μεταδίδουν ακολουθιακά κάνοντας χρήση του αλγορίθμου RoundRobin. Επιπλέον, κάθε σταθμός ενσωματώνει εντός του frame που μετέδωσε κάποιο meta-information το οποίο περιέχει μία πληροφορία : Το ρυθμό με τον οποίο δημιουργούνται τα πακέτα στην ουρά του. Ακόμη, για την πλήρη λειτουργία του πρωτοκόλλου απαιτείται οι σταθμοί να γνωρίζουν και το μέσο μέγεθος των πακέτων που δημιουργούνται στις ουρές των υπόλοιπων σταθμών, η πληροφορία αυτή όμως δε χρειάζεται να μεταδίδεται με το meta-information καθώς μιλάμε για broadcast δίκτυα Έτσι όλοι οι σταθμοί του δικτύου γνωρίζουν το ρυθμό άφιξης πακέτων στις ουρές και το μέσο μέγεθος των πακέτων αυτών. Το συνολικό φορτίο (overhead) που προστίθεται από την ενσωμάτωση αυτής της πληροφορίας είναι ουσιαστικά αμελητέο σε σχέση με το εύρος ζώνης των πλέον χρησιμοποιούμενων μέσων μετάδοσης και την απόδοση η οποία επιτυγχάνεται καθώς απαιτούνται μόλις 32 bits για τη μετάδοση αυτής της πληροφορίας. Βάσει λοιπόν αυτής της «διπλής» πληροφορίας που έχουμε στη διάθεσή μας μετά από κάποιες μεταδόσεις πραγματοποιείται clustering των σταθμών με χρήση του αλγορίθμου ομαδοποίησης k-means και οι σταθμοί ανάλογα με το προφίλ της δικτυακής του κίνησης που ορίζεται ως ο συνδυασμός του ρυθμού άφιξης των πακέτων στις ουρές τους και του μέσου μεγέθους πακέτων, κατηγοριοποιούνται σε ομάδες. Ο διαχωρισμός αυτός είναι απαραίτητος καθώς το πρωτόκολλο μετά την εφαρμογή του clustering αλγορίθμου έχοντας σαφή εικόνα των αναγκών της κάθε ομάδας σταθμών αποδίδει στην κάθε ομάδα εύρος ζώνης ικανό να ικανοποιήσει με το βέλτιστο τρόπο την ανάγκη της ομάδας cluster σε throughput προκειμένου οι ουρές των σταθμών που ανήκουν σε αυτή να αδειάζουν με όσο το δυνατό μικρότερη καθυστέρηση. Αναλυτικότερα, στο πρωτόκολλο αυτό μέχρι τις πρώτες Χ αφίξεις οι σταθμοί μεταδίδουν με χρήση RoundRobin. Μετά τις Χ αφίξεις και μετά από κάθε Χ (π.χ. στις 100,200,300 κ.τ.λ) πραγματοποιείται clustering των σταθμών του δικτύου με χρήση του αλγορίθμου k-means χρησιμοποιώντας για την ομαδοποίηση τις μετρικές μέσο μέγεθος πακέτων που φθάνουν στις ουρές των σταθμών και ρυθμό άφιξης νέων πακέτων. Δημιουργούνται n clusters και στη συνέχεια αποδίδεται σε κάθε cluster ένα εύρος ζώνης ανάλογα με τις ανάγκες του (ρυθμό άφιξης πακέτων στους σταθμούς ενός cluster και μέσο μέγεθος πακέτων). Η κατανομή γίνεται με τον ακόλουθο τρόπο : Για να ελαχιστοποιηθεί το packet delay, θεωρητικά το throughput με το οποίο θα έπρεπε να μεταδίδουν οι σταθμοί ενός cluster θα πρέπει είναι ίσο με το γινόμενο : μέσο μέγεθος πακέτων x ρυθμός άφιξης πακέτων στους σταθμούς όλου του cluster αυτού (πλήθος πακέτων ανά μονάδα χρόνου που πραγματοποιείται το clustering). Κανονικοποιώντας αυτά τα γινόμενα ώστε το άθροισμα των επιμέρους throughputs να είναι ίσο με το max throughput του μέσου μετάδοσης, αυτά που προκύπτουν θεωρούμε ότι είναι το μέγιστο εύρος ζώνης που αποδίδεται σε κάθε cluster. 24

Επομένως για κάθε cluster τα πακέτα που θα μεταδώσει στη μονάδα του χρόνου είναι ίσα με το εύρος ζώνης που παίρνει το συγκεκριμένο cluster διά το μέσο μέγεθος πακέτων του cluster. Στη συνέχεια ξεκινούν να μεταδίδονται από κάθε cluster όσα πακέτα αντιστοιχούν στο cluster αυτό ενώ στο εσωτερικό του κάθε cluster γίνεται χρήση RoundRobin για την επιλογή του σταθμού που θα μεταδώσει. Μετά τις επόμενες Χ αφίξεις νέων πακέτων επαναλαμβάνεται η ίδια διαδικασία αφού προηγηθεί το reclustering των σταθμών του δικτύου. Για τις εναλλαγές μεταξύ των σταθμών κατά τις μεταδώσεις των πακέτων με χρήση του αλγορίθμου RoundRobin το πρωτόκολλο διατηρεί έναν «μετρητή» για κάθε σταθμό του δικτύου. Κάθε σταθμός, αφού επιλεγεί να μεταδώσει κάποιο πακέτο, μεταβάλει αυτή την τιμή ώστε την επόμενη φορά να επιλεγεί ο επόμενος κατά σειρά σταθμός του ίδιου cluster για να μεταδώσει. Οι σταθμοί μεταδίδουν με τη σειρά από αυτόν με τη μικρότερη τιμή του «μετρητή» αυτού προς αυτόν με τη μεγαλύτερη τιμή. Όταν μετά από τη διαδικασία του reclustering κάποιος σταθμός τοποθετηθεί σε διαφορετικό cluster λόγω πιθανής μεταβολής της δικτυακής του συμπεριφοράς τότε η τιμή που λαμβάνει ο «μετρητής» αυτός είναι η μεγαλύτερη από τις αντίστοιχες τιμές «μετρητών» των σταθμών του cluster στο οποίο τοποθετήθηκε. Αφού μεταδοθούν όλα τα πακέτα από τους σταθμούς της ομάδας που επιλέχθηκε να μεταδώσει, ξεκινά η μετάδοση από τους σταθμούς της επόμενης κατά σειράς ομάδας με τον ίδιο ακριβώς τρόπο. Η διαδικασία αυτή επαναλαμβάνεται είτε μέχρι να εξαντληθούν όλα τα πακέτα είτε μέχρι να επαναληφθεί η διαδικασία της ομαδοποίησης των σταθμών. Για να επιτευχθεί αυτή η μέθοδος υλοποίησης, αποδεχόμαστε ότι οι κάρτες δικτύου των σταθμών έχουν τη δυνατότητα να υλοποιήσουν το προτεινόμενο πρωτόκολλο καθώς επίσης και να διατηρούν σε μία προσωρινή μνήμη τις μετρικές που χρησιμοποιούνται για το clustering των σταθμών προκειμένου να μπορούν οι σταθμοί να εφαρμόσουν τον αλγόριθμο ομαδοποίησης k-means και να είναι σε θέση να γνωρίζουν ποιος σταθμός πρόκειται να μεταδώσει σε κάθε βήμα του αλγορίθμου. Με αυτό τον τρόπο απαλείφεται η πιθανότητα του να συμβούν συγκρούσεις κατά τις μεταδώσεις των πακέτων των σταθμών καθώς κάθε σταθμός του δικτύου είναι σε θέση να γνωρίζει σε δεδομένη χρονική στιγμή ποιος σταθμός χρησιμοποιεί το κοινό μέσο μετάδοσης. Σε περίπτωση εμφάνισης ενός νέου σταθμού τότε αυτός «τοποθετείται» στο cluster το οποίο μεταδίδει εκείνη τη στιγμή παίρνοντας ως τιμή του «μετρητή» τη μεγαλύτερη τιμή μεταξύ των σταθμών του συγκεκριμένου cluster. 25

Λόγους για τους οποίος το πρωτόκολλο επιτυγχάνει καλύτερη απόδοση Γνωρίζοντας τα πλεονεκτήματα και έμμεσα τα μειονεκτήματα - όλων των πρωτοκόλλων που αναλύθηκαν σε προηγούμενη παράγραφο είμαστε σε θέση κάνοντας χρήση των σύγχρονων μεθόδων της ομαδοποίησης δεδομένων και οντοτήτων να προχωρήσουμε στον σχεδιασμό και υλοποίηση ενός νέου πρωτοκόλλου το οποίο αξιοποιεί με τον καλύτερο δυνατό τρόπο τα οφέλη που προκύπτουν από την ομαδοποίηση των σταθμών ενός τοπικού δικτύου. Το νέο πρωτόκολλο, σε θεωρητική βάση, επιτυγχάνει καλύτερες αποδόσεις καθώς σε κάθε χρονική στιγμή έχει τη δυνατότητα να γνωρίζει τις ανάγκες των σταθμών όπως αυτές προκύπτουν από το ιστορικό της δικτυακής κίνησης που δημιούργησαν σε προηγούμενα time slots. Έτσι λοιπόν ενώ στο HyTDMA / HTS επιλέγονται σταθμοί από τις ομάδες αδρανών - μη αδρανών σταθμών, υπάρχει για παράδειγμα μεγάλη πιθανότητα οι σταθμοί που θα επιλεγούν από τον ομάδα μη αδρανών σταθμών να μην έχουν πακέτα να μεταδώσουν με αποτέλεσμα να χρειαστούν αρκετά βήματα μέχρι να βρεθεί σταθμός που έχει πακέτα στην ουρά του. Αντίθετα, στο νέο πρωτόκολλο η δυνατότητα της ομαδοποίησης των σταθμών και της απονομής «κατάλληλου» εύρους ζώνης σε κάθε ομάδα ελαχιστοποιεί την πιθανότητα να αποδοθεί εύρος ζώνης σε μία ομάδα και το εύρος ζώνης να σπαταληθεί μέχρι να επιλεγούν σταθμοί που έχουν πακέτα στις ουρές τους. Ουσιαστικά διασφαλίζεται το γεγονός ότι στο βήμα της επιλογής σταθμού θα επιλεγεί με πολύ μεγάλη πιθανότητα σταθμός ο οποίος έχει πακέτα να μεταδώσει και έτσι δεν θα υπάρξει καθυστέρηση. Επιπλέον, η μελέτη του προφίλ της δικτυακής κίνησης των σταθμών μας δίνει τη δυνατότητα να αναπροσαρμόζουμε την κατανομή του διαθέσιμου εύρους ζώνης δυναμικά. Βασική ιδέα αποτελεί η κατανομή του «ιδανικού» εύρους ζώνης που θα χρειαζόταν μία ομάδα σταθμών προκειμένου να εξυπηρετεί τους σταθμούς της με μηδενική καθυστέρηση. Έτσι γνωρίζοντας τις ανάγκες των σταθμών στο προηγούμενο time slot το πρωτόκολλο είναι σε θέση να «εκτιμήσει» και τις ανάγκες των σταθμών για το επόμενο time slot και να τους αποδώσει το κατάλληλο εύρος ζώνης. Ο μηχανισμός της κατανομής του εύρους ζώνης αναλύεται σε επόμενο κεφάλαιο. Ακόμη, κάποια πρωτόκολλα προβλέπουν την αποστολή meta information προκειμένου να μπορέσουν να υλοποιηθούν. Στο νέο προτεινόμενο πρωτόκολλο, το meta information που προστίθεται και κατά συνέπεια το συνολικό overhead είναι ακόμη μικρότερο δεδομένου ότι μεταδίδονται λιγότερες πληροφορίες, με αποτέλεσμα οι καθυστερήσεις κατά τη μετάδοση των πακέτων να μειώνονται και αυτές και ιδίως όταν μιλούμε για μεταδόσεις της τάξης των εκατομμυρίων πακέτων. Μπορεί το overhead να είναι μικρό, σ αυτές τις περιπτώσεις όμως δε μπορεί να θεωρηθεί αμελητέο. Τέλος, το νέο πρωτόκολλο έχει τη δυνατότητα να αναπροσαρμόζει τη λειτουργία του βάσει των ομάδων σταθμών που υπάρχουν σ ένα τοπικό δίκτυο οι οποίες μπορεί και να είναι περισσότερες των δύο. Ενδεικτικά είδαμε πως το πρωτόκολλο HyTDMA / HTS κάνει διαχωρισμό μεταξύ αδρανών και μη αδρανών σταθμών (δημιουργούνται δηλαδή 2 ομάδες) κάτι τέτοιο όμως δεν είναι πάντα τόσο ρεαλιστικό καθώς σε 26

πραγματικά δίκτυα δε μπορούμε να δεχτούμε ότι υπάρχουν μόνο αδρανείς και μη αδρανείς σταθμοί αλλά θα πρέπει να τους κατηγοριοποιήσουμε βάσει και άλλων μετρικών που σχετίζονται με το πόσο συχνά φτάνουν πακέτα στις ουρές τους και τι προφίλ δικτυακής κίνησης δημιουργούν. Συνδυάζοντας λοιπόν όλα τα παραπάνω δίνεται η δυνατότητα σχεδιασμού ενός νέου πρωτοκόλλου για δίκτυα εκπομπής το οποίο υλοποιεί δυναμική κατανομή του διαθέσιμου εύρους ζώνης ανάλογα με το προφίλ της δικτυακής κίνησης των σταθμών του δικτύου. Το πρωτόκολλο αυτό ονομάζεται C-DyBA (Clustering based Dynamic Bandwidth Allocation Protocol). 27

Μηχανισμός κατανομής του διαθέσιμου εύρους ζώνης Το προτεινόμενο πρωτόκολλο αξιοποιώντας πλήρως τη δυνατότητα κατηγοριοποίησης των σταθμών ενός τοπικού δικτύου βάσει του προφίλ της δικτυακής τους κίνησης θα πρέπει να είναι σε θέση να κατανέμει το διαθέσιμο εύρος ζώνης του μέσου μετάδοσης μεταξύ των ομάδων που δημιουργούνται με το βέλτιστο τρόπο. Δεδομένου ότι το προφίλ της κίνησης των σταθμών δε μεταβάλλεται παρουσιάζοντας τρομακτικές διαφορές από στιγμή σε στιγμή (σταθμοί οι οποίοι είναι εξυπηρετητές θα συνεχίσουν με μεγάλη πιθανότητα να είναι εξυπηρετητές και στο μέλλον ενώ κάτι αντίστοιχο ισχύει και για τους σταθμούς των χρηστών), μας δίνεται η δυνατότητα να μπορούμε να εκτιμήσουμε το μέγιστο εύρος ζώνης το οποίο θα μπορούσαν να χρησιμοποιήσουν οι σταθμοί προκειμένου να εξυπηρετούν τις ανάγκες μετάδοσής τους με τη μικρότερη δυνατή καθυστέρηση. Για να επιτευχθεί αυτό, οι σταθμοί του δικτύου θα έπρεπε να έχουν στη διάθεση τους τόσο διαθέσιμο εύρος ζώνης όσο απαιτείται προκειμένου τα πακέτα που φθάνουν στις ουρές τους να μεταδίδονταν με ρυθμό ίδιον με τον ρυθμό άφιξης τους. Το ιδανικό αυτό- εύρος ζώνης ισούται στην πραγματικότητα με το γινόμενο : Ρυθμός Άφιξης Πακέτων στις ουρές των σταθμών επί το Μέσο Μέγεθος των Πακέτων αυτών. Στην περίπτωση λοιπόν που κάθε cluster θα μπορούσε να έχει στη διάθεση του αυτό το εύρος ζώνης, τότε όλα τα πακέτα των σταθμών του θα εξυπηρετούνταν με μηδενική καθυστέρηση. Ανάγοντας αυτή τη θεωρία στο πλήθος των σταθμών τότε όλοι οι σταθμοί θα μπορούσαν να εξυπηρετούνταν με μηδενική καθυστέρηση. Σε αντίθετη περίπτωση θα εμφανίζονταν μεγάλες καθυστερήσεις στις μεταδόσεις των σταθμών που ανήκουν σε ομάδες clusters οι οποίες έχουν πάρα πολλούς σταθμούς με μικρά πακέτα ο καθένας τους. Το εύρος ζώνης που θα αποδίδονταν σε αυτήν την ομάδα θα ήταν μικρό με αποτέλεσμα τα πακέτα που δημιουργούνταν στους σταθμούς της ομάδας να μη μεταδίδονταν άμεσα. Βάσει αυτής της λογικής λοιπόν καταλήγουμε στο ότι τα πακέτα που πρέπει να μεταδίδονται από κάθε ομάδα cluster του δικτύου μας θα πρέπει να είναι ίσα με : PT i = n 1 i= 0 PAR MPT i ( PAR APS ) i i Όπου, PTi είναι τα πακέτα που θα μεταδοθούν από την ομάδα cluster i, PARi ο ρυθμός άφιξης πακέτων της ομάδας i, MPT το μέγιστος εύρος ζώνης του κοινού μέσου μετάδοσης στη μονάδα χρόνου clustering που χρειάζεται μέχρι να πραγματοποιηθούν δύο διαδοχικές διαδικασίες clustering και APS i το μέσο μέγεθος των πακέτων της ομάδας i. Με αυτόν τον τρόπο λοιπόν και γνωρίζοντας το ρυθμό άφιξης πακέτων σε κάποια ομάδα cluster και το μέσο μέγεθος των πακέτων αυτών, αποδίδεται σε κάθε ομάδα χρόνος ικανός ώστε η ομάδα να μπορέσει να μεταδώσει όσα περισσότερα πακέτα μπορεί μεγιστοποιώντας τη χρήση του μέσου μετάδοσης. 28

Η λειτουργία του πρωτοκόλλου σε ψευδογλώσσα είναι η ακόλουθη : [1] Όλοι οι σταθμοί ανήκουν στο ίδιο cluster Εφαρμογή RoundRobin μεταξύ των σταθμών i = Σταθμός που επιλέχθηκε να μεταδώσει Εάν έχει πακέτα στην ουρά του { Μεταδίδει το πακέτο που έχει και μεταδίδει και το meta-information Διαφορετικά : μεταδίδει μόνο το meta-information Μετρητής_Σταθμού i = Μέγιστη τιμή του μετρητή της ομάδας που ανήκει ο σταθμός + 1 Επόμενη Μετάδοση ή Άφιξη Πακέτου [2] Clustering των σταθμών του δικτύου Τυχαία επιλογή του πρώτου cluster που θα ξεκινήσει να μεταδίδει πακέτα [3] Απόδοση εύρους ζώνης στο cluster αυτό Επιλογή σταθμών του cluster που θα μεταδώσουν με χρήση RoundRobin i = Σταθμός που επιλέχθηκε να μεταδώσει Εάν έχει πακέτα στην ουρά του { Μεταδίδει το πακέτο που έχει και το meta-information Διαφορετικά: μεταδίδει μόνο το meta-information Μετρητής_Σταθμού i = Μέγιστη τιμή του μετρητή της ομάδας που ανήκει ο σταθμός + 1 Επόμενη Μετάδοση ή Άφιξη Πακέτου Μετάδοση των πακέτων και των meta-information μέχρι να εξαντληθούν τα πακέτα που αντιστοιχούν στο συγκεκριμένο cluster Επιλογή επόμενης ομάδας που θα μεταδώσει Πήγαινε στο βήμα [3] Μόλις μεταδοθούν όλα τα πακέτα των clusters ή συμβεί rec lustering πήγαινε στο βήμα 2 29

Υλοποίηση του πρωτοκόλλου Έχοντας σχεδιάσει το νέο αυτό πρωτόκολλο προχωρήσαμε στην υλοποίηση του σχετικού αλγορίθμου για την προσομοίωσή του σε πραγματικές συνθήκες. Για τις ανάγκες της υλοποίησης και της προσομοίωσης φροντίσαμε να συλλέξουμε πραγματικά δεδομένα κίνησης από το Δίκτυο Δεδομένων του ΑΠΘ. Η συλλογή πραγματικών δεδομένων και η μελέτη του αλγορίθμου επ αυτών πραγματοποιήθηκε γιατί η χρήση μαθηματικών μοντέλων προσομοίωσης δικτυακής κίνησης όσο ακριβής κι αν είναι δε μπορεί σε καμία περίπτωση να συγκριθεί με την πραγματική κίνηση και τις ιδιαιτερότητες που μπορεί να εμφανιστούν σ ένα πραγματικό δίκτυο δεδομένων. Σε περιπτώσεις προσομοίωσης συνήθως χρησιμοποιείται το μοντέλο Poisson το οποίο όμως δε μπορεί να εφαρμοστεί σε περιβάλλοντα πραγματικών τοπικών δικτύων. Το αρχείο καταγραφής (log file) που χρησιμοποιήθηκε για τις ανάγκες της προσομοίωσης ήταν μεγέθους 300ΜΒ περίπου (πριν την επεξεργασία) ώστε να υπάρχει αντιπροσωπευτικό δείγμα από πραγματική κίνηση ενός δικτύου, και αποκτήθηκε με τη χρήση του λογισμικού wireshark (πρώην ethereal) το οποίο ήταν εγκατεστημένο σε κάποιο σταθμό του δικτύου. Το λογισμικό αυτό δίνει τη δυνατότητα σε κάποιο σταθμό του δικτύου να θέσει την κάρτα δικτύου του σε «promiscuous» mode με αποτέλεσμα ο σταθμός αυτός να μπορεί να καταγράψει όλα τα πακέτα που μεταδίδονται στο κοινό μέσο ανεξάρτητα με το αν αυτά προορίζονται για αυτόν τον σταθμό ή όχι. Το πρόγραμμα αυτό θα μπορούσαμε να πούμε ότι αποτελεί έναν Packet sniffer ή απλώς sniffer. Packet sniffer ή επίσης αποκαλούμενο network monitor ή network analyzer, είναι λογισμικό με δυνατότητα παρακολούθησης των πακέτων ενός δικτύου. Όταν γίνει αντιληπτό κάποιο πακέτο το οποίο ικανοποιεί συγκεκριμένα κριτήρια, καταγράφεται σε ένα αρχείο. Για πολύ καιρό οι μηχανικοί δικτύων, 30