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

Σχετικά έγγραφα
Δ Ι Π Λ Ω Μ Α Τ Ι Κ Η Ε Ρ Γ Α Σ Ι Α

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

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

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

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΔΙΚΑ ΘΕΜΑΤΑ. Κεφάλαιο 10. Εισαγωγή στην εκτιμητική

3. Προσομοίωση ενός Συστήματος Αναμονής.

Κινητά Δίκτυα Επικοινωνιών. Συμπληρωματικό υλικό. Προσαρμοστική Ισοστάθμιση Καναλιού

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ. Εργαστήριο 8 ο. Αποδιαμόρφωση PAM-PPM με προσαρμοσμένα φίλτρα

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

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

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

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

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

E [ -x ^2 z] = E[x z]

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ

Αριθμητική Ανάλυση & Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

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

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες

Εισόδημα Κατανάλωση

Προχωρημένα Θέματα Προγραμματισμού Δικτύων

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

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

Αναγνώριση Προτύπων Ι

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

Τοπικά Δίκτυα. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω:

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

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

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

Κατακερματισμός (Hashing)

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΑΣΚΗΣΗ 3

Κατανόηση των βασικών σημείων των διευθύνσεων TCP/IP και της

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

Εργαστήριο 4: Κυψελωτά Δίκτυα Κινητών Επικοινωνιών

E[ (x- ) ]= trace[(x-x)(x- ) ]

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

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Ψηφιακές Τηλεπικοινωνίες. Βέλτιστος Δέκτης

Επίπεδο ύνδεσης Δεδομένων (Data Link Layer DLL)

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Τηλεματική, Διαδίκτυα και Κοινωνία Κυψελωτή Τηλεφωνία

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1)

Πρόλογος Κατανόηση της εφοδιαστικής αλυσίδας Σχεδιασμός δικτύου εφοδιαστικής αλυσίδας...41

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Τμήμα Φυσικής Εισαγωγή στα Συστήματα Τηλεπικοινωνιών Συστήματα Παλμοκωδικής Διαμόρφωσης

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο

Πολυμέσα πάνω από κινητά δίκτυα

Περίληψη. Ethernet Δίκτυα Δακτυλίου, (Token Ring) Άλλα Δίκτυα Σύνδεση Τοπικών Δικτύων.

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

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

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

Λειτουργικά Συστήματα Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

EE728 (22Α004) - Προχωρημένα Θέματα Θεωρίας Πληροφορίας 3η σειρά ασκήσεων Διακριτά και Συνεχή Κανάλια. Παράδοση: Έως 22/6/2015

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

Δίκτυα Κινητών και Προσωπικών Επικοινωνιών

Τεράστιες ανάγκες σε αποθηκευτικό χώρο

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

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

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ

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

Κεφάλαιο 10 Εισαγωγή στην Εκτίμηση

ΕΡΓΑΣΤΗΡΙΟ ΑΝΑΛΟΓΙΚΩΝ & ΨΗΦΙΑΚΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Άσκηση 1. (σημειώστε πως 1KB = 2 10 bytes, 1Mbps = 10 6 bits/sec).

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Συμπίεση Πληροφορίας Πλαισίου με Ανάλυση Κύριων Συνιστωσών


Σχήμα 8.46: Δίκτυο αεραγωγών παραδείγματος.

Παρουσίαση 2 η : Αρχές εκτίμησης παραμέτρων Μέρος 1 ο

ΚΕΦΑΛΑΙΟ ΠΕΜΠΤΟ ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ

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

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

Το μοντέλο Perceptron

Αριθμητική Ανάλυση και Εφαρμογές

Πολυμέσα σε Δίκτυα Κινητών Συσκευών

ΕΛΕΓΧΟΣ ΒΙΟΜΗΧΑΝΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ ΚΕΦΑΛΑΙΟ 4 ΚΕΦΑΛΑΙΟ 5. ΑΝΑΓΝΩΡΙΣΗ ΔΙΕΡΓΑΣΙΑΣ ΠΡΟΣΑΡΜΟΣΤΙΚΟΣ ΕΛΕΓΧΟΣ (Process Identifications)

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

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

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

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

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

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

Εργαστήριο 4 Πρωτόκολλα Δρομολόγησης

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Κατανεμημένα Συστήματα Ι

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Αναγνώριση Προτύπων Ι

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών. ΗΥ335a Δίκτυα Υπολογιστών Διδάσκουσα: Παπαδοπούλη Μαρία BlindSense

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΕΛΙΚΕΣ ΕΞΕΤΑΣΕΙΣ (11/05/2011, 9:00)

Ελλιπή δεδομένα. Εδώ έχουμε Στον πίνακα που ακολουθεί δίνεται η κατά ηλικία κατανομή 1275 ατόμων

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

ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΦΟΡΩΝ

Transcript:

ΠΡΟΣΟΜΟΙΩΣΗ ΑΣΥΡΜΑΤΟΥ ΔΙΚΤΥΟΥ ΕΚΠΟΜΠΗΣ ΔΕΔΟΜΕΝΩΝ ΜΕ ΤΟΠΙΚΟΤΗΤΑ ΖΗΤΗΣΗΣ ΚΑΙ ΧΡΗΣΗ ΠΟΛΛΩΝ ΚΕΡΑΙΩΝ Ανδρέας Γούναρης - 1068 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πρόγραμμα Προπτυχιακών Σπουδών Σεπτέμβριος 2012 Επιβλέπων καθηγητής: Νικοπολιτίδης Πέτρος

2

Περιεχόμενα Περιεχόμενα... 3 Περίληψη... 5 Abstract... 5 1 Εισαγωγή... 6 1.1 Εκπομπή Δεδομένων... 6 1.1.1 Μοντέλο έλξης - Pull Model... 7 1.1.2 Μοντέλο Ώθησης - Push model... 8 1.1.3 Υβριδικό Μοντέλο - Hybrid model... 9 1.2 Συστήματα Ώθησης... 11 1.2.1 Μη προσαρμοστικά μοντέλα Ώθησης... 11 1.2.2 Προσαρμοστικά μοντέλα Ώθησης... 14 1.3 Αντικείμενο της εργασίας... 15 2 Το προτεινόμενο σύστημα Ώθησης... 16 2.1 Μανθάνοντα αυτόματα... 16 2.2 Χρονοπρογραμματισμός με τη βοήθεια μανθανόντων αυτομάτων... 17 2.3 Το σχήμα ανανέωσης πιθανοτήτων... 18 2.4 Μηχανισμός μεταβολής του Bit-Rate... 21 2.5 Σύστημα πολλαπλών κεραιών... 26 3 Υλοποίηση Προσομοίωσης... 26 3.1 Γενικές πληροφορίες... 26 3.2 Διαγράμματα Ροής... 27 3.3 Συνολική εικόνα προγράμματος... 30 3.4 Κυριότερα σημεία του προγράμματος... 32 3

3.4.1 Κλάση Node... 32 3.4.2 Κλάση Packet... 33 3.4.3 Κλάση Antenna... 34 3.4.4 Κλάση Group... 35 3.4.5 Κλάση Setter... 36 3.4.6 Κλάση GroupSetter... 40 3.4.7 Κλάση BitVariation... 51 4 Αποτελέσματα Πειραμάτων... 57 5 Επίλογος... 66 6 Αναφορές... 67 4

Περίληψη Το παρόν έγγραφο πραγματεύεται την ανάπτυξη και την σχεδίαση ενός προσομοιωτή ασύρματου δικτύου εκπομπής δεδομένων πολλαπλών κεραιών, με βάση την τοπικότητα της ζήτησης. Οι πελάτες εντάσσονται σε διαφορετικές ομάδες οι οποίες είναι τοποθετημένες στην περιοχή κάλυψης και ενδιαφέρονται για ξεχωριστά υποσύνολα αντικειμένων μίας βάσης δεδομένων. Χρησιμοποιείται ένας προσαρμοστικός αλγόριθμος πιθανοτήτων για την πρόβλεψη της πραγματικής ζήτησης των αντικειμένων από τους πελάτες. Στη συνέχεια πραγματοποιείται η εκπομπή δεδομένων από πολλαπλές κατευθυντικές κεραίες με δυνατότητα μεταβολής του bit rate ανάλογα με την απόσταση του πελάτη. Τέλος, αξιολογείται η βελτίωση της απόδοσης του δικτύου, βάση των αποτελεσμάτων των πειραμάτων. Abstract This document describes the design and development of a wireless data broadcasting network simulator with multiple antennas and locality of client demands. Clients belonging to different groups placed in the service area demand different subsets of a database. An adaptive probability algorithm is used for estimating the item demand probabilities by the clients. Next, broadcasting is taking place via multiple antennas using a bit rate variation mechanism depending on client's position. The performance of the wireless data broadcasting scheme is evaluated via experimental results. 5

1 Εισαγωγή 1.1 Εκπομπή Δεδομένων Σήμερα η εκπομπή δεδομένων παίζει καθοριστικό ρόλο για τη διάδοση πληροφορίας στα ασύμμετρα ασύρματα δίκτυα. Μερικοί από τους λόγους στους οποίους οφείλεται η ασσυμετρία των ασύρματων δικτύων σήμερα είναι: Ασυμμετρία εξοπλισμού: Έλλειψη δυνατότητας εκπομπής από τους πελάτες ή εκπομπή με περιορισμένη ισχύ. Ασυμμετρία στο σύστημα δικτύου: Μικρό εύρος ζώνης ανερχόμενης/κατερχόμενης(upstream/downstream) κίνησης. Ασυμμετρία εφαρμογών: Πρότυπο κίνησης των εφαρμογών πελάτη-εξυπηρέτη. Μερικά παραδείγματα των συγκεκριμένων δικτύων είναι τα συστήματα πληροφοριών οδικής κυκλοφορίας, συστήματα ενημέρωσης καιρικών συνθηκών, συστήματα διανομής ειδήσεων κ.α.. Συνεπώς, η εκπομπή δεδομένων μπορεί να αποτελέσει μία σημαντική λύση καθώς με την εκπομπή ενός συγκεκριμένου αντικειμένου μπορούν να ικανοποιηθούν περισσότεροι από ένας πελάτες. Επιπρόσθετα, βάση των προαναφερθέντων παραδειγμάτων καθοριστικό ρόλο στο ενδιαφέρον των αντικειμένων από τους πελάτες, παίζει η τοποθεσία τους, υπάρχουν δηλαδή μεγάλες πιθανότητες να ταυτίζεται η ζήτηση αντικειμένων σε πελάτες που βρίσκονται σε μία συγκεκριμένη περιοχή. Ο στόχος για την αποδοτικότερη εκπομπή των δεδομένων έχει δύο πτυχές: 1. Ελαχιστοποίηση του μέσου χρόνου προσβασης(overall mean time access) για κάθε πελάτη. Να χρησιμοποιηθεί δηλαδή ένα τέτοιο πρόγραμμα εκπομπήςς έτσι ώστε να σμικρυνθεί ο μέσος χρόνος που μεσολαβεί ανάμεσα σε δύο επιτυχείς λήψεις αντικειμένων από έναν πελάτη. 6

2. Η διαχείριση και λειτουργία της τοπικής μνήμης των πελατών (cache), έτσι ώστε να μετριάζεται η μείωση της απόδοσης ενός πελάτη όταν υπάρχουν αναντιστοιχίες μεταξύ του προγράμματος εκπομπής και της ζήτησης των πελατών. Μέχρι στιγμής έχουν αναφερθεί τρείς προσεγγίσεις σχετικά με το πρόγραμμα της εκπομπής δεδομένων από τον εξυπηρέτη εκπομπής: Προσέγγιση βασισμένη στην έλξη (Pull-Based Approach). Προσέγγιση βασισμένη στην Ώθηση (Push-Based Approach). Υβριδική Προσέγγιση(Hybrid Approach). Παρακάτω εξετάζονται αναλυτικότερα τα τρία αυτά μοντέλα. 1.1.1 Μοντέλο έλξης - Pull Model Το μοντέλο έλξης είναι βασισμένο στην εκκίνηση της διαδικασίας εκπομπής από τους πελάτες. Προϋποθέτει τη δυνατότητα εκπομπής από τους πελάτες, αφού ο εξυπηρέτης εκπομπής μεταδίδει πακέτα μετά από σαφή αιτήματα των πελατών. Τα μοντέλα έλξης έχουν το πλεονέκτημα του να προσαρμόζονται στις ανάγκες των πελατών χάρη στη γνώση που έχουν για αυτές μέσω των αιτημάτων που πραγματοποιούν οι πελάτες. Ένα σύστημα που παρουσιάζεται είναι αυτό του [4]. Αυτή η μέθοδος έχει δείξει μέσω προσομοίωσης ότι παρέχει απόδοση, κοντά στη βέλτιστη αλλά χωρίς να είναι κλιμακούμενη, με αυτή του αλγόριθμου "Longest Wait First"(LWF), ο οποίος επιλέγει για εκπομπή, το αντικείμενο που έχει το μεγαλύτερο συνολικό χρόνο προσβασης (το άθροισμα του χρόνου προσβασης των πελατών που το ζητάνε). Ένα ακόμη σύστημα ώθησης που προτάθηκε είναι αυτό του [12]. Η πρόταση αυτή αφορά επίσης την απόδοση του χρόνου προσβασης, το χρόνο συντονισμού (το χρόνο που ένας πελάτης ενεργά παρακολουθεί τη μετάδοση πριν λάβει το ζητούμενο αντικείμενο ), και το κόστος διαχείρισης των αποτυχημένων αιτημάτων. Προτείνει έναν αυτοπροσαρμοζόμενο χρονοπρογραμματισμό, που υπολογίζει μία συνάρτηση κόστους, που εξαρτάται από τις τρείς μεταβλητές που αναφέρθηκαν προηγουμένως, για κάθε αντικείμενο και τον χρησιμοποιεί για την κατασκευή του χρονοπρογραμματισμού. Παράλληλα όμως δημιουργούνται πολλά προβλήματα στη διαχείριση φόρτου και πόρων από τη μεριά του εξυπηρέτη εκπομπής. Είναι αδύνατο να προβλεφτεί κάποια συνάρτηση κατανομής της άφιξης των αιτημάτων από τους πελάτες με αποτέλεσμα η αποτελεσματική διαχείριση των 7

πόρων από τους εξυπηρέτες να μην είναι εφικτή. Σαν αποτέλεσμα μπορεί να υπάρξει μειωμένη ποιότητα των υπηρεσιών, κακή διαχείριση του εύρους ζώνης ή ακόμα και ολική άρνηση της εξυπηρέτησης. Παράδειγμα της αδυναμίας του μοντέλου αυτού είναι η παροχή πρόσβασης σε έναν εξυπηρέτη ηλεκτρονικού ταχυδρομείου που χρησιμοποιεί πρωτόκολλο IMAP ή POP3. Είναι πιθανόν στην κορύφωση της ζήτησης δεδομένων να προκύψει άρνηση εξυπηρέτησης ή να περιοριστεί η ποιότητα των υπηρεσιών για τους περισσότερους χρήστες, έτσι λοιπόν θα ήταν προτιμότερο να μοιρασθεί η αλληλογραφία μετά από πρωτοβουλία του εξυπηρέτη σε χρονικά διαστήματα που θα κάνουν τη μετάδοση πιο αποδοτική. Γνωστά πρωτόκολλα που χρησιμοποιούν το μοντέλο Pull είναι τα HTTP, IMAP, POP3, FTP. 1.1.2 Μοντέλο Ώθησης - Push model Στα δίκτυα που είναι βασισμένα στο μοντέλο ώθησης η εκκίνηση της διαδικασίας γίνεται από τον εξυπηρέτη. Ο εξυπηρέτης υποτίθεται ότι πρέπει να έχει μία priori εκτίμηση της ζήτησης ανά αντικείμενο πληροφορίας και έτσι κάνει μεταδόσεις ανά συγκεκριμένα χρονικά διαστήματα βάση αυτής της πληροφορίας. Ωστόσο είναι εφικτό με μερικές επεκτάσεις να μην υπάρχει απαίτηση για priori γνώση της ζήτησης, αντικείμενο που εξετάζεται στη συνέχεια αυτής της εργασίας. Τα συστήματα ώθησης(π.χ. [5]-[7]) χαρακτηρίζονται από υψηλή επεκτασιμότητα και απλότητα από μεριάς των πελατών αφού δεν απαιτούν την εκπομπή δεδομένων από τους πελάτες, έτσι τα συστήματα αυτά αποτελούν μοναδική λύση για δίκτυα στα οποία δεν μπορεί να υπάρξει αμφίδρομη επικοινωνία. Ωστόσο για την επιτυχή λειτουργία της προσέγγισης αυτής οι πελάτες απαιτείται να είναι συνέχεια on-line, κάτι που μπορεί να αποφευχθεί εάν εισαχθούν στην τοπολογία του δικτύου ενδιάμεσες συσκευές (gateways, proxies, κ.α.) οι οποίες θα αναλάβουν να παραδώσουν τα αντικείμενα πληροφορίας στους πελάτες. Το κύριο πλεονέκτημα του μοντέλου αυτού είναι ότι ο εξυπηρέτης μπορεί να διαχειρίζεται καλύτερα τους πόρους του, εφόσον επιλέγει ο ίδιος τα χρονικά διαστήματα και τα αντικείμενα που θα αποστείλει, ταυτόχρονα όμως αυξάνονται αρκετά οι μέσοι χρόνοι προσβασης των πελατών, αλλά σε συγκεκριμένου τύπου δεδομένα (π.χ. ενημερωτικού χαρακτήρα) αυτό δεν αποτελεί σημαντικό μειονέκτημα. Παράδειγμα της τεχνολογίας ώθησης μπορεί να θεωρηθεί ένα σύστημα ενημέρωσης κινούμενων οδηγών μέσα σε μία πόλη. Κάθε οδηγός λαμβάνει περιοδικά τα δεδομένα που έχουν να κάνουν με τις συνθήκες που επικρατούν στο σημείο της πόλης που κινείται. Επίσης, η λήψη των e-mail με κινητό τηλέφωνο μπορεί να γίνει με λογική ώθησης, αφού υπάρχει μόνιμη σύνδεση με το δίκτυο κινητής τηλεφωνίας. 8

Εικόνα 1: Push και Pull μοντέλα 1.1.3 Υβριδικό Μοντέλο - Hybrid model Τα δίκτυα αυτά επιδιώκουν να συνθέσουν τα οφέλη των μοντέλων ώθησης και έλξης. Ωστόσο, οι προσεγγίσεις αυτές πρέπει να βρουν με προσοχή μία ισορροπία ανάμεσα στην ώθηση και την έλξη και να διαχειριστούν έναν αριθμό πρόσθετων ζητημάτων (καθορισμός και δυναμική επιλογή εύρους ζώνης, διαθέσιμου για ώθηση και έλξη, επιλογή αντικειμένων προς ώθηση και αντίστοιχα προς έλξη, κτλ.) Στα υβριδικά μοντέλα, οι πελάτες μπορούν να χρησιμοποιούν ένα κανάλι επιστροφής για να καταχωρούν αιτήματα για αντικείμενα πληροφοριών από τον εξυπηρέτη εκπομπής. Μία εργασία που αναφέρεται σε τέτοια συστήματα είναι αυτή του [13], που προτείνει ένα υβριδικό σύστημα που παίρνει υπόψη την επανεξέταση των χρηστών. Καθόσον έχει σημασία η προσαρμογή στα αιτήματα των πελατών, παίρνονται υπόψη τα πραγματικά αιτήματα που γίνονται από τους πελάτες. Επίσης οι συγγραφείς της εργασίας αναφέρουν ότι ακόμη και στα υβριδικά συστήματα η εκτίμηση των πιθανοτήτων ζήτησης των πελατών δεν είναι ένα ασήμαντο θέμα. Αυτό συμβαίνει γιατί στην προσπάθεια να εξυπηρετηθούν όλο και περισσότεροι χρήστες μέσω της λειτουργίας έλξης, ο αριθμός των χρηστών αυξάνεται και έτσι όλο και λιγότεροι χρήστες 9

μπορούν να στέλνουν τα αιτήματά τους, προκαλώντας μία σημαντική αύξηση της πιθανότητας να έχουμε μία ανακριβή εκτίμηση των πιθανοτήτων ζήτησης στο άμεσο μέλλον. Ένα ακόμη υβριδικό σύστημα που προτάθηκε, είναι αυτό του [14], προτείνει ένα μηχανισμό εκτίμησης και προσπαθεί να εξισορροπήσει τους χρόνους πρόσβασης των συστημάτων ώθησης και έλξης. Για την εκτίμηση των αιτημάτων των αντικειμένων,[14] εκμεταλλεύεται την ανυπομονησία των πελατών. Περιοδικά, παράγει επίτηδες αστοχίες αντικειμένων από το σύστημα ώθησης προκειμένου να αναγκάσει τους πελάτες να ζητήσουν συγκεκριμένα αντικείμενα μέσω αιτήσεων. Έτσι, μετρώντας τις αιτήσεις για κάθε αντικείμενο στο σύστημα ώθησης, ο εξυπηρέτης εκπομπής έχει ένα μέτρο των αιτημάτων των αντικειμένων μέσα στον πληθυσμό των πελατών. Μια παρόμοια προσέγγιση με αυτή του [14] είναι αυτή του [15]. Υπολογίζει την εκτιμώμενη πιθανότητα ζήτησης για το κάθε αντικείμενο μέσω των εισερχόμενων αιτημάτων για αντικείμενα που δε θα εμφανιστούν στην εκπομπή στο άμεσο μέλλον και αναφέρει ότι χωρίς αιτήματα των αντικειμένων που τυγχάνουν εκτός εκπομπής, η εκτίμηση των πιθανοτήτων ζήτησης θα ήταν αδύνατη. Στο [16], προτείνεται ένα σύστημα για δυναμική εκπομπή δεδομένων που συνδυάζει διάφορα μέσα για την ανάκτηση των αντικειμένων (μνήμη cache, κανάλια εκπομπής, αιτήματα έλξης). Ο εξυπηρέτης εκπομπής είναι ικανός να λειτουργήσει χωρίς να έχει μία προηγούμενη γνώση για τα αιτήματα των πελατών. Κάθε πελάτης διατηρεί ένα διάνυσμα από bit, στο οποίο κάθε bit αντιπροσωπεύει το κάθε αντικείμενο του προγράμματος εκπομπής. Στην έναρξη του κάθε προγράμματος εκπομπής ο εξυπηρέτης εκπομπής μεταδίδει το ολοκληρωμένο πρόγραμμα εκπομπής. Όταν οι πελάτες λαμβάνουν το νέο πρόγραμμα μηδενίζουν το διάνυσμα bit που διατηρούν. Κάθε bit αντικειμένου που περιλαμβάνεται στο πρόγραμμα εκπομπής αρχικοποιείται στο διάνυσμα των πελατών. Έτσι τα αντικείμενα που ανακτώνται είτε από την μνήμη cache του πελάτη, είτε μέσω αιτημάτων έλξης, δεν έχουν καμία επίδραση στο διάνυσμα bit του κάθε πελάτη. Όταν ένα συγκεκριμένο αντικείμενο δεν συμπεριλαμβάνεται στην μνήμη cache του πελάτη αλλά ούτε και στο πρόγραμμα εκπομπής, τότε μεταδίδεται ένα αίτημα pull από τον πελάτη στο οποίο μεταφέρεται το διάνυσμά του. Μετά από το αίτημα το διάνυσμα του πελάτη μηδενίζεται. Κάθε αντικείμενο στον εξυπηρέτη εκπομπής σχετίζεται με έναν μετρητή που η τιμή του αυξάνεται κατά ένα κάθε φορά που ένα αντικείμενο έχει υπερβολική ζήτηση ή λαμβάνεται ένα διάνυσμα με τις σχετικές πληροφορίες. Με αυτόν τον μηχανισμό, ο εκπομπός είναι σε θέσει να εκτιμήσει τα πρότυπα πρόσβασης του πληθυσμού των πελατών και να αποφασίσει δυναμικά το πρόγραμμα εκπομπής σύμφωνα με αυτά τα πρότυπα. Επίσης μία ακόμη μελέτη [17] προτείνει ένα σύστημα όπου τα αιτήματα πελατών δεν στοχεύουν συγκεκριμένα αντικείμενα αλλά μπορούν ωστόσο να ικανοποιηθούν από αντικείμενα που εμπεριέχουν πληροφορία ικανοποιητικά προσεγγιστική στα αιτήματά τους. Κάθε πελάτης διατηρεί ένα διάνυσμα bit, με κάθε bit στη θέση w στη σειρά του διανύσματος του πελάτη, αν ένα αντικείμενο με υψηλό δείκτη ομοιότητας, σε σχέση με το ζητούμενο αντικείμενο, εμφανιστεί στην w θέση της εκπομπής. Σε κάθε δεδομένη στιγμή, κάθε πελάτης στέλνει, με μικρή πιθανότητα, ένα μήνυμα ανάδρασης προς τον εξυπηρέτη εκπομπής, το οποίο περιέχει το διάνυσμά του. Αν ένας πελάτης δεν ικανοποιηθεί από το πρόγραμμα εκπομπής, το μήνυμα 10

ανάδρασης που θα στείλει θα είναι στην ουσία ένα σαφές αίτημα για ένα συγκεκριμένο αντικείμενο. Η συχνότητα δειγματοληψίας των πελατών για τα αιτήματά τους, καθορίζεται με στατιστικές τεχνικές. Δύο τέτοιες τεχνικές προτείνονται, με τη μία από αυτές να είναι ανώτερη, αφού οδηγεί σε ένα μικρότερο ποσοστό δείγματος πελατών. Τέλος μία ακόμη εργασία που στοχεύει στην προσαρμοστικότητα της εκπομπής δεδομένων περιγράφεται στο [18]. Οι πελάτες που αιτούνται τα ίδια αντικείμενα με στατικές πιθανότητες ζήτησης ή ίδιας μορφής υπηρεσίες ομάδων μετάδοσης. Στην αρχή του κάθε κύκλου εκπομπής, απονέμεται σε κάθε ομάδα ένα ποσοστό από χρονικές θυρίδες που απαρτίζουν τη διάρκεια της εκπομπής. Επιπλέον, όταν μία ομάδα χρησιμοποιήσει το ποσοστό της, ο εξυπηρέτης εκπομπής μπορεί δυναμικά να της παρέχει περισσότερες θυρίδες αφού μπορεί να δανειστεί θυρίδες χρόνου από άλλες ομάδες κατά τη διάρκεια της εκπομπής. Ο μηχανισμός δανεισμού πραγματοποιείται όταν κάποιες θυρίδες χρόνου είναι διαθέσιμες κατά τη διάρκεια του κύκλου εκπομπής. Όταν ο δανεισμός δεν είναι δυνατό να συμβεί, λόγω της έλλειψης των χρονικών θυρίδων στο πρόγραμμα της εκπομπής, τότε ο εξυπηρέτης εκπομπής μπορεί να μεταδώσει επιπλέον αντικείμενα είτε μέσω του τρόπου έλξης, είτε επηρεάζοντας την λειτουργία ώθησης στον επόμενο κύκλο. Στο τέλος κάθε κύκλου, η ανάδραση είναι διαθέσιμη στον εξυπηρέτη εκπομπής και αφορά των δανεισμό των θυρίδων που χρησιμοποιήθηκε σε συνδυασμό με την πληθυσμό των ομάδων για να προσαρμοστεί το σύστημα στις καινούργιες ανάγκες τον πελατών για τον επόμενο κύκλο εκπομπής. 1.2 Συστήματα Ώθησης 1.2.1 Μη προσαρμοστικά μοντέλα Ώθησης 1.2.1.1 Επίπεδο Μοντέλο - Flat Model Το επίπεδο μοντέλο[9] χρησιμοποιεί την ίδια συχνότητα εκπομπής για όλα τα αντικείμενα, ανεξάρτητα από τις πραγματικές πιθανότητες ζήτησης του κάθε αντικειμένου από τους πελάτες. Όλα τα αντικείμενα αντιμετωπίζονται με τον ίδιο τρόπο, χωρίς διακρίσεις, έτσι ώστε αν γίνει εκπομπή ενός συγκεκριμένου αντικειμένου στην i-οστή μονάδα χρόνο, θα επαναμεταδοθεί στην "n+i", όπου n ο συνολικός αριθμός αντικειμένων προς εκπομπή. Υπάρχει δηλαδή ένας κύκλος εκπομπής που επαναλαμβάνεται ανάμεσα στα αντικείμενα που είναι διαθέσιμα προς εκπομπή, αφού έρευνες έχουν δείξει ότι ο χρόνος προσβασης του πελάτη μειώνεται όταν οι μεταδόσεις είναι περιοδικές [10] και η διακύμανση του χρόνου μεταξύ των μεταδόσεων του ίδιου αντικειμένου πρέπει να μειωθεί[11]. 11

Τα πλεονεκτήματα του μοντέλου αυτού βασίζονται στην μη ύπαρξη υπολογιστικής πολυπλοκότητας από τη μεριά του εξυπηρέτη εκπομπής. Δεν απαιτείται κάποιος μηχανισμός εκτίμησης των πιθανοτήτων, ούτε δρομολόγηση των αντικειμένων βάση αυτού. Ως αποτέλεσμα υπάρχει μειωμένη κατανάλωση σε ισχύ, ταχύτερη επιλογή επόμενου πακέτου προς αποστολή και μικρότερη κατανάλωση εσωτερικής κεντρικής μνήμης και γενικότερα υπολογιστικών πόρων με συνέπεια να έχουμε γενικότερη μείωση του συνολικού οικονομικού κόστους παραγωγής. Το βασικό μειονέκτημα του μοντέλου αυτού είναι η έλλειψη προσαρμοστικότητας του εκπομπού στις πραγματικές ανάγκες των χρηστών. Βάση της άγνοιας του συνόλου των αντικειμένων που ζητούνται περισσότερο, πολλές φορές μεταδίδονται αντικείμενα που έχουν χαμηλή ή ακόμη και ανύπαρκτη ζήτηση με συνέπεια να αυξάνεται σημαντικά ο μέσος χρόνος απόκρισης των πελατών. Η προσέγγιση αυτή θα είχε χρηστικό όφελος εάν όλα τα αντικείμενα διατηρούσαν ίδιες πιθανότητες ζήτησης, κάτι που δεν ισχύει συνήθως σε πραγματικές συνθήκες. 1.2.1.2 Δίσκοι Εκπομπής - Broadcast Disks Το μοντέλο των δίσκων εκπομπής, αντίθετα με το επίπεδο μοντέλο [9] δεν αντιμετωπίζει όλα τα αντικείμενα με την ίδια προτεραιότητα. Βασική προϋπόθεση είναι το ότι οι πραγματικές πιθανότητες ζήτησης των αντικειμένων είναι γνωστές εκ των προτέρων και έτσι χρησιμοποιούνται για τη βελτίωση της απόδοσης του δικτύου. Στο μοντέλο αυτό περιλαμβάνονται διάφοροι δίσκοι που περιστρέφονται με διαφορετικές συχνότητες, τα αντικείμενα με μεγαλύτερη πιθανότητα ζήτησης τοποθετούνται στους δίσκους με τη μεγαλύτερη συχνότητα ενώ τα υπόλοιπα στους δίσκους που περιστρέφονται με μικρότερη. Συνεπώς, υπάρχει ταχύτερη πρόσβαση στα δημοφιλή αντικείμενα με αποτέλεσμα οι μέσοι χρόνοι πρόσβασης των πελατών να μειώνονται σημαντικά. Ένα από τα βασικά μειονεκτήματα του μοντέλου αυτού είναι ότι πρέπει να είναι εξ αρχής γνωστές οι πιθανότητες ζήτησης του κάθε αντικειμένου, πράγμα σχεδόν αδύνατο σε πραγματικές συνθήκες λειτουργίας ενός δικτύου. Συμπληρωματικά επειδή υπάρχει έλλειψη προσαρμοστικότητας ένα τέτοιο μοντέλο είναι αδύνατο να ανταποκριθεί στις δυναμικές αλλαγές των απαιτήσεων των πελατών. Κάτι που καθιστά μη αποδοτική την εφαρμογή του αλγόριθμου σε μεγάλα χρονικά διαστήματα αφού το μοντέλο είναι στατικό με περιορισμένη εφαρμογή στην πράξη. Επιπρόσθετα, περιορίζεται σε σταθερού μήκους αντικείμενα και έτσι δεν υπάρχει τρόπος να υπολογιστεί ο σωστός αριθμός των δίσκων ή των συχνοτήτων περιστροφής τους, χωρίς σημαντικό σφάλμα. Οι παράμετροι ρύθμισης σε αυτή την περίπτωση παράγονται με εμπειρικό τρόπο. Τέλος, κάθε αντικείμενο έχει σταθερή περίοδο εκπομπής, κάτι που μπορεί να οδηγήσει σε διαστήματα χρόνου εκπομπής που δεν χρησιμοποιούνται. 12

Μία ενδιαφέρουσα εργασία που βασίζεται στη μέθοδο τον δίσκων εκπομπής είναι η [20]. Προσπαθεί να ικανοποιήσει τα αιτήματα των πελατών σε μικρό χρονικό διάστημα καθώς επίσης να επιτύχει χαμηλή κατανάλωση ενέργειας από τους πελάτες. Ο σκοπός της εργασίας αυτής έχει τρείς πτυχές: 1)Τον ορισμό της μεθόδου σύμφωνα με την οποία τα αντικείμενα δεδομένων θα κατανεμηθούν στους δίσκους έτσι ώστε να μειωθεί ο συνολικός μέσος χρόνος προσβασης 2) Τον ορισμό του αριθμού των δίσκων που θα χρησιμοποιηθούν, 3) την ολοκλήρωση της διαδικασίας σελιδοποίησης ώστε να παρέχει καλύτερη ενεργειακή απόδοση. 1.2.1.3 Μέθοδος Vaidya-Hameed Πρόκειται επίσης για μία πρόταση [6] βασισμένη σε συστήματα ώθησης που παράγει περιοδικές δρομολογήσεις όπως αναφέρεται στο [19]. Η λογική της μεθόδου αυτής, εφόσον όλοι οι πελάτες είναι συντονισμένοι στο ίδιο κανάλι, στηρίζεται σε δύο επιχειρήματα: 1. Προγράμματα εκπομπής με ελάχιστον συνολικό μέσο χρόνο πρόσβασης παράγονται όταν τα διαστήματα μεταξύ διαδοχικών στιγμιότυπων ίδιων αντικειμένων είναι ίσα[11]. 2. Αν υποθέσουμε ότι τα στιγμιότυπα των ίδιων αντικειμένων ισαπέχουν, ο ελάχιστος συνολικός μέσος χρόνος πρόσβασής προκύπτει όταν ο εξυπηρέτης εκπομπής μεταδίδει ένα αντικείμενο i με την απόσταση μεταξύ δύο διαδοχικών στιγμιότυπων του i να είναι ανάλογη του παράγοντα. Όπου η πιθανότητα ζήτησης του αντικειμένου i και το μέγεθός του. Η λειτουργία του συγκεκριμένου αλγόριθμου έχει ως εξής, από το σύνολο των αντικειμένων προς εκπομπή M, επιλέγεται αυτό που μεγιστοποιεί την συνάρτηση κόστους G(i): Όπου Τ είναι ο τρέχων χρόνος προσομοίωσης, δηλαδή ο αριθμός των μονάδων χρόνου που έχουν περάσει από τη εκπομπή του πρώτου αντικειμένου και R(i) είναι ο χρόνος κατά τον οποίο έγινε η εκπομπή του αντικειμένου i για τελευταία φορά. Όπως προαναφέρθηκε και είναι η πιθανότητα ζήτησης και το μέγεθος του πακέτου i αντίστοιχα. Διαπιστώνεται εύκολα βάση αυτού του τύπου, ότι δεν οδηγείται σε στέρηση κανένα αντικείμενο γιατί εάν κάποιο αντικείμενο έχει αρκετό χρόνο να μεταδοθεί, ο πρώτος παράγοντας που είναι υψωμένος στο τετράγωνο υπερισχύει στην επίδραση του στο τελικό αποτέλεσμα από την πιθανώς πολύ μικρή πιθανότητα ζήτησης. Στην ουσία η επιλογή του επόμενου προς εκπομπή αντικειμένου κρίνεται από τον παράγοντα που υπερισχύει εκ των δύο πρώτων. Αν δύο 13

αντικείμενα έχουν μεταδοθεί σε κοντινές χρονικές αποστάσεις, υπερισχύει αυτό με τη μεγαλύτερη πιθανότητα ζήτησης. Ένας ακόμη παράγοντας που παίζει ρόλο στην επιλογή ενός αντικειμένου είναι το μέγεθός του. Όταν οι πιθανότητες ζήτησης μεταξύ δύο αντικειμένων είναι παρόμοιες, αυτό με το μικρότερο μέγεθος έχει μεγαλύτερες πιθανότητες να μεταδοθεί. Γεγονός που συμβαίνει γιατί το μέγεθος του αντικειμένου βρίσκεται στον παρανομαστή που διαιρεί την πιθανότητα ζήτησής του και έτσι μειώνει την επίδρασή της στο τελικό αποτέλεσμα, συνεπώς μεγαλύτερο μέγεθος συνεπάγεται μικρότερη τελική τιμή συνάρτησης. Όπως δηλώνουν και οι δημιουργοί της, η μέθοδος αυτή [6] έχει το πλεονέκτημα της αυτόματης χρήσης των βέλτιστων συχνοτήτων για τις μεταδόσεις των αντικειμένων, σε αντίθεση με την μέθοδο [5]. Επιπρόσθετα, ο περιορισμός εμφανίσεων εκπομπής του ίδιου αντικειμένου που ισαπέχουν, δεν επιβάλλεται άκαμπτα, κάτι που οδηγεί στην εξάλειψη των κενών περιόδων κατά τη εκπομπή, έτσι η μέθοδος αυτή λειτουργεί εξίσου με αντικείμενα διαφόρων μεγεθών. Η μέθοδος Vaidya-Hameed είναι σαφώς πιο αποδοτική από τη μέθοδο των δίσκων εκπομπής, ωστόσο και οι δύο μέθοδοι απαιτούν την priori γνώση των πραγματικών πιθανοτήτων ζήτησης, κάτι που τις κάνει εξίσου αναποτελεσματικές σε περιβάλλοντα που οι ανάγκες των πελατών αλλάζουν δυναμικά. Παρόλαυτα όπως αναφέρεται παρακάτω, η αποδοτικότητα της συγκεκριμένης μεθόδου [6] αυξάνεται σημαντικά εάν συνδυαστεί με κάποιον προσαρμοστικό αλγόριθμο εκτίμησης πιθανοτήτων. 1.2.2 Προσαρμοστικά μοντέλα Ώθησης Τα υβριδικά συστήματα καθώς και τα συστήματα έλξης που περιγράφηκαν παραπάνω μοιράζονται την απαίτηση του να μπορούν οι πελάτες να δηλώνουν τα αιτήματα ζήτησής του μέσω ενός καναλιού εκπομπής. Για να λειτουργήσουν αυτές οι προσεγγίσεις σε περιβάλλον ώθησης πρέπει ο εξυπηρέτης εκπομπής να έχει μία priori γνώση για τα αιτήματα των πελατών, [12], [13] από τη στιγμή που στα συστήματα ώθησης δεν υπάρχει η δυνατότητα εκπομπής αιτημάτων από τους πελάτες στον εξυπηρέτη εκπομπής. Ακόμη στην περίπτωση των υβριδικών συστημάτων και των συστημάτων έλξης, ένας μεγάλος αριθμός πελατών μπορεί 1) Να υπερχειλίσει το ανωφερές κανάλι χάρη στην ανάγκη συντονισμού των αιτημάτων ζήτησης και 2) Να δημιουργήσει έναν υπερβολικό αριθμό αφίξεων στον εξυπηρέτη εκπομπής με αποτέλεσμα να τον κάνει να καταρρεύσει. Αντίθετα, στο [3] και στο σύστημα που περιγράφει ο εξυπηρέτης εκπομπής, δεν εξαρτάται από τα πραγματικά αιτήματα των πελατών που γίνονται δια μέσου του καναλιού επιστροφής, αφού το ανωφερές κανάλι στην ουσία μεταδίδει ένα άθροισμα παλμών ανάδρασης των πελατών. Έτσι ισχύει ότι: 14

Εφόσον δεν υπάρχει ανάγκη για συντονισμό των απαντήσεων των πελατών (παλμοί) έτσι ώστε να μην συγκρούονται, ένας μεγάλος αριθμός πελατών δεν περιορίζει την επεκτασιμότητα του συστήματος υπερχειλίζοντας το ανερχόμενο κανάλι. Αυτό που λαμβάνει ο εξυπηρέτης εκπομπής δεν είναι ένας αριθμός ατομικών αιτήσεων για πακέτα προς εξέταση και πιθανή εξυπηρέτηση, αλλά το σύνολο των παλμών ανάδρασης των πελατών, το οποίο χρησιμοποιείται για την εκτίμηση της ζήτησης των διαφόρων αντικειμένων. 1.3 Αντικείμενο της εργασίας Ο σκοπός της εργασίας αυτής έχει στόχο να περιγράψει την σημαντική αύξηση της απόδοσης ενός ασύρματου δικτύου εκπομπής εφαρμόζοντας δύο μηχανισμούς που έχουν προταθεί και αφορούν τα ασύρματα δίκτυα ώθησης[1]-[2]. Το σύστημα το οποίο περιγράφεται, χαρακτηρίζεται ως ένα προσαρμοστικό σύστημα ώθησης και λειτουργεί σε ένα περιβάλλον όπου ισχύει η τοπικότητα της ζήτησης. Σύμφωνα με την τοπικότητα της ζήτησης, οι πελάτες είναι τοποθετημένοι στην περιοχή κάλυψης και ανήκουν σε ομάδες οι οποίες βρίσκονται σε διαφορετικές περιοχές και ενδιαφέρονται για ξεχωριστά υποσύνολα αντικειμένων μιας βάσης δεδομένων. Αρχικά ο εξυπηρέτης εκπομπής δεν έχει προηγούμενη γνώση για τις θέσεις όπως και για τα αιτήματα των πελατών, έτσι για να ανταποκριθεί το σύστημα στις δυναμικές ανάγκες των πελατών χρησιμοποιείται ένας απλός παλμός ανάδρασης. Ο παλμός αυτός, που εκπέμπεται απο τους πελάτες, δεν είναι ένα σαφές αίτημα για κάποιο συγκεκριμένο αντικείμενο όπως στις προσεγγίσεις [4],[12], αλλά μία επικύρωση τού ότι το αντικείμενο που στάλθηκε από τον εξυπηρέτη εκπομπής είναι παράλληλα και αυτό που ζητήθηκε από τον συγκεκριμένο πελάτη. Με τον τρόπο αυτό, υπάρχει μείωση της υπολογιστικής πολυπλοκότητας ως αναφορά τη διαχείριση των αιτημάτων των πελατών, που κρίνεται αναγκαία στα κλασικά συστήματα έλξης και ταυτόχρονα υπάρχει δυνατότητα επεκτασιμότητας σε σχέση με τον αριθμό των πελατών αφού ο παλμός αυτός δεν είναι σε θέση να υπερφορτώσει τον εξυπηρέτη εκπομπής, αντίθετα με τα συστήματα έλξης, λόγω των υπερβολικών αφίξεων των αιτημάτων. Η διαμόρφωση του προγράμματος εκπομπής γίνεται σύμφωνα με τη συνάρτηση κόστους της προσέγγισης [6]. Οι εκτιμώμενες πιθανότητες ζήτησης του κάθε αντικειμένου που εισάγονται στη συνάρτηση, υπολογίζονται από ένα μανθάνον αυτόματο [3] βάση του συνόλου των παλμών ανάδρασης των πελατών, μετά από κάθε εκπομπή αντικειμένου, το σύνολο των παλμών αυτών ονομάζεται περιβαλλοντική απόκριση. Ο πρώτος μηχανισμός [1] που εφαρμόζεται στηρίζεται στην μεταβολή της ισχύος της εκπομπής κάθε αντικειμένου ανάλογα με την απόσταση των πελατών από την κεραία. Στα κλασσικά συστήματα εκπομπής οι εκπομπές δεδομένων έχουν σταθερή ισχύ που διαμορφώνεται ανάλογα με τους πελάτες που βρίσκονται στα όρια της περιοχής κάλυψης. Η προσέγγιση [1], αρχικά 15

χρησιμοποιεί των μηχανισμό παλμών ανάδρασης [3] για να υπολογίσει την θέση των πελατών βάση της εξασθένισης του σήματος του παλμού. Στη συνέχεια η εκπομπή των αντικειμένων διαμορφώνεται ανάλογα με την απόσταση των πελατών από τον εξυπηρέτη εκπομπής, με αποτέλεσμα οι πελάτες που βρίσκονται πιο κοντά στην κεραία να λαμβάνουν τα αντικείμενα ταχύτερα λόγω της ανταλλαγής ισχύος-ταχύτητας, αυξάνοντας σημαντικά τη συνολική απόδοση του συστήματος. Στην συνέχεια, βάση του δεύτερου μηχανισμού [2], η εκπομπή των αντικειμένων πραγματοποιείται με πολλές κατευθυντικές κεραίες που χωρίζουν την περιοχή κάλυψης σε ζώνες. Η απόδοση του συστήματος αυξάνεται ακόμη περισσότερο, αφού βάση του [2] έχουμε σημαντική βελτίωση χρησιμοποιώντας μέχρι 3 κεραίες. Στη συνέχεια, το κείμενο της εργασίας αυτής οργανώνεται ως εξής: Στο 2ο κεφάλαιο παρέχονται πληροφορίες που αφορούν τα Μανθάνοντα αυτόματα και επιπλέον περιγράφεται λεπτομερειακά η λειτουργία των δύο μηχανισμών, μεταβολής της ροής δεδομένων και χρήσης πολλών κεραιών. Στο κεφάλαιο 3ο παρέχονται πληροφορίες για τη σχεδίαση και την υλοποίηση του εξομοιωτή που χρησιμοποιήθηκε, όπως επίσης και η επεξήγηση για τα πιο σημαντικά σημεία του πηγαίου κώδικα. Στο κεφάλαιο 4ο αξιολογούνται τα πειραματικά αποτελέσματα που εξάχθηκαν από την προσομοίωση και διαπιστώνεται η σημαντική αύξηση της απόδοσης σε σχέση με τους δύο μηχανισμούς που εφαρμόστηκαν. Τέλος, συμπεριλαμβάνεται μία σύνοψη καθώς και η βιβλιογραφία που χρησιμοποιήθηκε στα πλαίσια της εργασίας αυτής 2 Το προτεινόμενο σύστημα Ώθησης 2.1 Μανθάνοντα αυτόματα Ο στόχος τον ευφυών συστημάτων είναι να δουλεύουν αποτελεσματικά σε περιβάλλοντα που χαρακτηρίζονται από άγνωστα και ποικίλα χαρακτηριστικά. Τα Μανθάνοντα αυτόματα [21][24], δίνουν λύση σε αυτό το πρόβλημα, αφού αποτελούν δομές που μπορούν να αποκτήσουν γνώση σχετικά με τη συμπεριφορά του περιβάλλοντος στο οποίο λειτουργούν. Ένα μανθάνον αυτόματο μπορεί να βελτιώσει την αποδοτικότητά του μέσω της αλληλεπίδρασης του με το δυναμικό περιβάλλον μέσα στο οποίο λειτουργεί. Το ζητούμενο ενός μανθάνοντος αυτόματου είναι να βρει τη βέλτιστη λύση μέσα από ένα σύνολο ενεργειών, έτσι ώστε η μέση ποινή από το περιβάλλον να είναι η ελάχιστη. Το αυτόματο περιλαμβάνει ένα σύνολο πιθανοτήτων οι οποίες στο σύνολο τους αντιπροσωπεύουν ένα διάνυσμα πιθανότητας επιλογής της i ενέργειας στην επανάληψη n. Σε κάθε επανάληψη το αυτόματο επιλέγει μία ενέργεια και λαμβάνει την ανάδραση του περιβάλλοντός που προκαλείται από τη συγκεκριμένη ενέργεια. Στη συνέχεια βασισμένο σε αυτήν την απόκριση, το αυτόματο ανανεώνει το διάνυσμα πιθανοτήτων από σε και το χρησιμοποιεί για να καθορίσει την επιλογή της επόμενης ενέργειας. 16

Ο τύπος του αυτόματου εξαρτάται από τη φύση της περιβαλλοντικής απόκρισης. Μοντέλο P: Στις περιπτώσεις που η απόκριση είναι δυαδική, δηλαδή περιλαμβάνει μόνο τις τιμές 0 και 1 (ποινή - αμοιβή), το μοντέλο του αυτόματου που χρησιμοποιείται είναι P. Μοντέλο Q: Παρόλαυτα στις περισσότερες περιπτώσεις η απόκριση δεν είναι απόλυτα καθορισμένη αλλά είναι μία ακαθόριστη εκτίμηση του περιβάλλοντος και έτσι οι τιμές που επιστρέφονται, μετά από κανονικοποίηση βρίσκονται στο διάστημα [0,...,1]. Τα αυτόματα αυτού του μοντέλου ονομάζονται Q και μπορούν να παίρνουν συνεχόμενες τιμές στο διάστημα [0,...,1]. Τα Μανθάνοντα αυτόματα χρησιμοποιούνται σε συστήματα που δεν υπάρχει επαρκής και priori γνώση όσο αναφορά το περιβάλλον στο οποίο λειτουργούν. Όσων αφορά το δίκτυα δεδομένων, τα Μανθάνοντα αυτόματα εφαρμόζονται για την επίλυση αρκετών προβλημάτων, μέσα σ' άλλα και στη σχεδίαση αυτοπροσαρμοζόμενων πρωτοκόλλων πρόσβασης στο μέσο μετάδοσης (self-adaptive media access control layer protocols - MAC), τόσο για ενσύρματες όσο και για ασύρματες πλατφόρμες, που λειτουργούν αποτελεσματικά σε δίκτυα με δυναμικό φόρτο εργασίας[25]-[28]. Άλλες εφαρμογές των μανθανόντων αυτομάτων περιλαμβάνουν τα συστήματα ουράς, προγραμματισμού εργασιών, συμπίεσης εικόνας, αναγνώρισης προτύπων και δρομολόγησης τηλεφωνικών συνδιαλέξεων. 2.2 Χρονοπρογραμματισμός με τη βοήθεια μανθανόντων αυτομάτων Στο σύστημα ώθησης που περιγράφεται χρησιμοποιείται ο αλγόριθμος επιλογής αντικειμένου Vaidya - Hameed ο οποίος έχει αναφερθεί στο κεφάλαιο 1 σε συνδυασμό με ένα μανθάνον αυτόματο τύπου S. Το αυτόματο αυτό εμπεριέχει την εκτίμηση για την πραγματική πιθανότητα ζήτησης Φυσικά, για κάθε αντικείμενο i που μεταδίδεται από τον εξυπηρέτη εκπομπής., όπου Μ το σύνολο των αντικειμένων της βάσης. Το επόμενο αντικείμενο που θα μεταδοθεί επιλέγεται από τη συνάρτηση κόστους = 2, 1, όπου Τ ή τρέχουσα τιμή του χρόνου προσομοίωσης, R(i) τιμή του χρόνου όπου το i αντικείμενο μεταδόθηκε για τελευταία φορά, το μέγεθος του αντικειμένου και η εκτιμώμενη πιθανότητα ζήτησης που προκύπτει από το μανθάνον αυτόματο. Για κάθε αντικείμενο i που δεν έχει μεταδοθεί η τιμή R(i) αρχικοποιείται στην τιμή -1. Έτσι στην εκκίνηση της εκπομπής το πρώτο αντικείμενο επιλέγεται τυχαία, αφού η συνάρτηση κόστους μεγιστοποιείται για περισσότερα από ένα αντικείμενα. Κατά την εκπομπή του τμήματος i την 17

χρονική στιγμή T, το R(i) μεταβάλλεται ώστε να ισχύει R(i)=Τ. Μετά το τέλος της εκπομπής εφαρμόζεται το σχήμα ανανέωσης πιθανοτήτων και βάση του αλγορίθμου επιλέγεται το επόμενο αντικείμενο προς εκπομπή. Στο προσαρμοσμένο σύστημα, μετά τη μεταφορά του αντικειμένου i, ο εκπομπός περιμένει την επιβεβαίωση από κάθε πελάτη που ζητούσε το συγκεκριμένο αντικείμενο. Για να επιβεβαιωθεί η λήψη, ο καθένας από αυτούς εκπέμπει έναν παλμό ανάδρασης. Οι παλμοί αυτοί, οι οποίοι είναι σταθερού μήκους, προστίθενται στον εκπομπό, ο οποίος χρησιμοποιεί τον συνολικό παλμό που έλαβε για να ανανεώσει το αυτόματο. Όσων αφορά τους παλμούς ανάδρασης, δεχόμαστε ότι το κανάλι εκπομπής είναι συμμετρικό, πράγμα που σημαίνει ότι η απώλεια διαδρομής από τον εκπομπό προς κάποιον δέκτη είναι ίδια με αυτήν απ' τον συγκεκριμένο δέκτη προς τον εκπομπό. Επιπρόσθετα, ο εκπομπός και όλοι οι δέκτες είναι σύμφωνοι ως προς την ισχύ του σήματος που αναγνωρίζεται ως ανάδραση. Ο παλμός ανάδρασης ενός πελάτη, που χρησιμοποιείται επίσης στο [3] είναι ένας απλός παλμός πολύ μικρής διάρκειας ο οποίος κατά την άφιξή του στον εκπομπό επιβεβαιώνει την λήψη του αντικειμένου δεδομένων στον δέκτη. Το διάνυσμα της πιθανότητας εκπομπής p που διατηρείται από το αυτόματο, αποτελεί εκτίμηση της πιθανότητας ζήτησης κάθε τμήματος πληροφορίας i, 1. Για την επόμενη εκπομπή, ο εκπομπός επιλέγει πιο αντικείμενο να μεταδώσει χρησιμοποιώντας το ανανεωμένο διάνυσμα p. 2.3 Το σχήμα ανανέωσης πιθανοτήτων Όταν η εκπομπή ενός αντικειμένου δεν ικανοποιεί κάποιον πελάτη η εκτίμηση της πιθανότητας του αντικειμένου δεν αλλάζει. Ωστόσο μετά από μία εκπομπή που ικανοποιεί τους πελάτες η εκτιμώμενη πιθανότητα του πακέτου που μεταδόθηκε αυξάνεται. Ένα σχήμα ανταμοιβήςαδράνειας (Reward-Inaction ) [22] για την ανανέωση των εκτιμώμενων πιθανοτήτων ζήτησης εφαρμόζεται μετά από την εκπομπή του κάθε αντικειμένου. Έτσι, υποθέτοντας ότι το αντικείμενο i επιλέγεται για την n εκπομπή, το παρακάτω σχήμα θα χρησιμοποιηθεί : (1) Ισχύει ότι L, α (0,1), και όπου Μ ο αριθμός του συνόλου των αντικειμένων της βάσης δεδομένων. Ο παράγοντας L διαχειρίζεται την ταχύτητα προσαρμογής του αυτόματου και η επιλογή της παραμέτρου αυτής αντικατοπτρίζει το κλασικό πρόβλημα της ταχύτητας εναντίον της ακρίβειας. Όσο πιο μικρή είναι η τιμή του L τόσο πιο ακριβές θα είναι το αυτόματο, ένα γεγονός που έχει κόστος στην ταχύτητα σύγκλισης. Όταν η τιμή της πιθανότητας ζήτησης ενός αντικειμένου i πλησιάζει στο μηδέν η αντίστοιχή τιμή της 18

συνάρτησης G(i) θα πλησιάζει επίσης στο 0. Όμως ακόμη και αν το αντικείμενο i είναι μη δημοφιλές πρέπει να μεταδοθεί γιατί κάποιοι πελάτες μπορεί να το ζητάνε και επιπλέον η δυναμική φύση της ζήτησης των πελατών μπορεί να κάνει αυτό το πακέτο δημοφιλές στο μέλλον. Βάση του γεγονότος αυτού η παράμετρος α, εμποδίζει τις εκτιμώμενες πιθανότητες ζήτησης των πακέτων να πάρουν τιμές κοντά στο μηδέν και έτσι η προσαρμοστικότητα του αυτόματου αυξάνεται. Το b(k) αντιπροσωπεύει την περιβαλλοντική απόκριση που λαμβάνεται μετά από την εκπομπή του κάθε αντικειμένου. Η απόκριση του περιβάλλοντος είναι το κανονικοποιημένο άθροισμα των ληφθέντων παλμών ανάδρασης των πελατών που έχουν ζητήσει το αντικείμενο που μεταδόθηκε. Βάση αυτού, πρέπει να υπάρξει ένας μηχανισμός που δίνει στον εξυπηρέτη εκπομπής τη δυνατότητα να έχει μία εκτίμηση του αριθμού των πελατών που βρίσκονται στην περιοχή κάλυψής τους και έτσι να πραγματοποιήσει την διαδικασία κανονικοποίησης στο άθροισμα των παλμών ανάδρασης των πελατών. Η διαδικασία αυτή, μπορεί να επιτευχθεί εκπέμποντας ένα πακέτο ελέγχου που καλεί όλους τους πελάτες να απαντήσουν με έναν παλμό. Ο εξυπηρέτης εκπομπής θα χρησιμοποιήσει το σύνολο των παλμών αυτών για να υπολογίσει πόσοι πελάτες βρίσκονται στο εύρος κάλυψης του και έτσι να πραγματοποιήσει την κανονικοποίηση. Η διαδικασία αυτή [3] συμβαίνει ανά τακτά περιοδικά χρονικά διαστήματα, μετά από αρκετές εκατοντάδες μεταδόσεις αντικειμένων, με κόστος καθυστέρησης μιας εκπομπής ενός μοναδιαίου μήκους αντικειμένου. Αποδεικνύεται [3] ότι η καθυστέρηση αυτή, είναι αμελητέα μπροστά στην αύξηση της απόδοσης της προσέγγισης που περιγράφεται. Όταν η τιμή του b(κ) είναι ίση με τη μονάδα τότε κανένας πελάτης δεν έχει ζητήσει το αντικείμενο που μεταδίδεται, αντίθετα όσο πιο μικρή είναι η τιμή του b(κ) τόσο πιο πολλοί πελάτες έχουν ικανοποιηθεί από την κ εκπομπή του εξυπηρέτη εκπομπής. Παρόλαυτα, η ισχύς του σήματος του παλμού του κάθε πελάτη εξαρτάται από την απόστασή του από την κεραία και επίσης έχει δυναμική φύση λόγω της κινητικότητας των πελατών. Εφόσον η εξασθένιση του σήματος είναι του τύπου 1/ (με τυπικό n=4), οι παλμοί ανάδρασης των πελατών που βρίσκονται πιο κοντά στην κεραία θα είναι σαφώς πιο ισχυροί από τους παλμούς των πελατών που βρίσκονται μακρύτερα. Με σκοπό λοιπόν να μην κυριαρχήσουν στην ψηφοφορία οι πιο κοντινοί πελάτες χρησιμοποιείται ένας μηχανισμός ελέγχου ισχύος στους εισερχόμενους παλμούς. Έτσι κάθε πακέτο αντικειμένου που μεταδίδεται, περιέχει πληροφορίες που αφορούν την ισχύ εκπομπής που χρησιμοποιήθηκε για την αποστολή του αντικειμένου αυτού. Λόγω της εξασθένισης του σήματος, οι πελάτες που βρίσκονται σε μεγάλη απόσταση από την κεραία θα λάβουν το αντικείμενο μετρώντας μία χαμηλή ισχύ σήματος. Βάση της ισχύς του σήματος του αντικειμένου που λαμβάνεται και της ισχύς του σήματος που μεταδόθηκε αρχικά, οι πελάτες θα ρυθμίσουν την ισχύ του παλμού ανάδρασης αντιστρέφοντας τις δύο αυτές τιμές (ισχύς του ληφθέντος αντικειμένου / αρχική ισχύς εκπομπής ). Για παράδειγμα, υποθέτουμε ότι ο εξυπηρέτης εκπομπής εκπέμπει όλα τα αντικείμενα με ισχύ ίση με 1. Κάθε πελάτης θα λάβει τα αντικείμενα που εκπέμπονται, με ισχύ κ (κ ) ανάλογα με την απόστασή του από τη κεραία και στη συνέχεια θα ρυθμίσει την ισχύ του παλμού ανάδρασής έτσι ώστε να 19

είναι ίση με 1/κ. Με αυτόν τον τρόπο η συμβολή των πελατών στο άθροισμα του συνόλου των παλμών ανάδρασης που θα λάβει ο εξυπηρέτης εκπομπής θα είναι ίση, και δε θα εξαρτάται από την απόσταση πελάτη - κεραίας. Για την εκπομπή του κάθε αντικειμένου, τα ληφθέντα σήματα ανάδρασης στον εξυπηρέτη εκπομπής περνούν μέσα από έναν ενισχυτή [29], [30] που ενσωματώνει την ενέργεια που λήφθηκε τη χρονική περίοδο μετά από την εκπομπή του αντικειμένου. Αυτό το χρονικό διάστημα είναι ίσο με το άθροισμα τις διάρκειας του αθροίσματος των παλμών ανάδρασης και τη μέγιστη καθυστέρηση διάδοσης και επιστροφής(δηλαδή η καθυστέρηση διάδοσης και επιστροφής από την κεραία σε έναν πελάτη που βρίσκεται στα όρια της περιοχής κάλυψης ). Από τη συνολική ενέργεια που λήφθηκε στη διάρκεια της περιόδου αυτής, ο εξυπηρέτης εκπομπής μπορέι να υπολογίσει πόσοι περίπου πελάτες έχουν απαντήσει με παλμό ανάδρασης [30], [31]. Μετά, ο ενισχυτής μηδενίζεται με σκοπό να αρχίσει η επόμενη ενσωμάτωση της χρονικής περιόδου μετά από τη εκπομπή του επόμενου αντικειμένου. Χρησιμοποιώντας το σχήμα ανανέωσης πιθανοτήτων (1), οι πιθανότητες ζήτησης των αντικειμένων που υπολογίζονται από το αυτόματο συγκλίνουν στις πραγματικές πιθανότητες ζήτησης των πελατών για κάθε αντικείμενο. Μέσω τις προσομοίωσης η σύγκλιση φαίνεται στο παρακάτω σχήμα. Αρχικά, οι απαιτήσεις των πελατών είναι άγνωστες στον εξυπηρέτη εκπομπής. Μπορούμε επίσης να παρατηρήσουμε και τη δυναμική τους φύση όταν σε κάποιο χρονικό στιγμιότυπο η αρχική συνολική πιθανότητα ζήτησης για το συγκεκριμένο αντικείμενο(διακεκομμένη γραμμή) αλλάζει σε μία νέα (συνεχής γραμμή). Η ακρίβεια της εκτίμησης για κάθε τιμή του L υπολογίζεται στο σχήμα αυτό ως η μέση απόκλιση που έχει η εκτίμηση του αυτόματου με τη πραγματική πιθανότητα ζήτησης. Ο υπολογισμός ξεκινά όταν η εκτίμηση του αυτόματου έχει συγκλίνει στην πραγματική πιθανότητα ζήτησης και τελειώνει όταν η πραγματική πιθανότητα ζήτησης του αντικειμένου αλλάζει και έτσι το αυτόματα ξεκινά να συγκλίνει στην καινούργια πιθανότητα ζήτησης. Εν κατακλείδι, περιγράφεται ότι η τιμή της μέσης απόκλισης της εκτίμησης σε σχέση με την πραγματική πιθανότητα ζήτησης δεν διαφέρει πάνω από 5%. Τα αποτελέσματα στο [3] και το [32] αποδεικνύουν αποδοτική λειτουργία σε δυναμικά περιβάλλοντα που χαρακτηρίζονται από μη priori γνώση των πιθανοτήτων ζήτησης των πελατών. Σχετικά με την πολυπλοκότητα του συστήματος, μπορεί εύκολα να διαπιστωθεί ότι το σχήμα ανανέωσης των πιθανοτήτων (1) είναι πολυπλοκότητας Ο(Μ), έτσι διατηρεί την πολυπλοκότητα ενός μη προσαρμοστικού συστήματος [6]. Επιπλέον, σύμφωνα με το γεγονός του ότι ένας μεγάλος αριθμός πελατών δεν επιβαρύνει τον εξυπηρέτη εκπομπής ή το ανωφερές κανάλι (αφού μεταφέρεται μόνο το άθροισμα των παλμών ανάδρασης), το σύστημα είναι επεκτάσιμο και διατηρεί την αποδοτικότητα του ανεξάρτητα από τον αριθμό των πελατών. 20

Εικόνα 2: Σύγκλιση των εκτιμώμενων πιθανοτήτων 2.4 Μηχανισμός μεταβολής του Bit-Rate Μέχρι στιγμής ισχύει η υπόθεση ότι όλοι οι δέκτες είναι ομοιόμορφα διασκορπισμένοι στην ακτίνα εκπομπής του εξυπηρέτη εκπομπής και πραγματοποιούν αιτήματα χρησιμοποιώντας ίδια ή παραπλήσια πρότυπα. Ωστόσο σε μερικές περιπτώσεις οι πελάτες είναι ομαδοποιημένοι σε διάφορες ομάδες που βρίσκονται σε διαφορετικά σημεία, με τους πελάτες τις κάθε ομάδας να έχουν ίδια αιτήματα, τα οποία είναι ξεχωριστά από εκείνα των πελατών διαφορετικών ομάδων. Σε μία τυπική εφαρμογή εκπομπής δεδομένων (και γενικά στα ασύρματα κινητά δίκτυα), το εύρος εκπομπής είναι μία περιοχή με συγκεκριμένη ακτίνα, μέσα στην οποία οι πελάτες μπορούν να λαμβάνουν πληροφορίες ενώ υπομένουν μία τιμή ανοχής σφάλματος (BER) η οποία είναι ίση ή κατώτερη από ένα συγκεκριμένο όριο. Το μέγεθος της ακτίνας κάλυψης εξαρτάται από έναν αριθμό παραμέτρων, όπως ο τύπος της διαμόρφωσης που χρησιμοποιήθηκε, το bit rate, η ισχύς της εκπομπής και η πυκνότητα θορύβου ανά Herz, και αποφασίζεται από έναν απλό κανόνα που αναφέρει ότι το όριό της είναι εκεί που η ληφθείσα ενέργεια ανά bit διαιρούμενη με την πυκνότητα θορύβου ανά Herz ισούται με μία συγκεκριμένη σταθερά A. Η τιμή της σταθεράς 21

αυτής ορίζεται έτσι ώστε το πηλίκο να έχει ως αποτέλεσμα μία τιμή ανοχής σφάλματος μικρότερη ή ίση μιας απαιτούμενης ρύθμισης. Έτσι στο όριο της ακτίνας εκπομπής ισχύει ότι: (1) όπου Από τη στιγμή που και, όπου =A η ληφθείσα ενέργεια σε απόσταση R από την κεραία, η διάρκεια του δυαδικού ψηφίου μπορούμε να ξαναγράψουμε την εξίσωση ως εξής:. (2) Τέλος, αφού στα ασύρματα δίκτυα η εξασθένηση του σήματος για απόσταση d, είναι του τύπου 1/ (με τυπική τιμή του n ), μπορεί να εκφραστεί ώς:. (3) Στα συστήματα σταθερού bit-rate, οι πελάτες μέσα στην ακτίνα εκπομπής (σε απόσταση d < R) αντιμετωπίζουν ακόμη μικρότερα σφάλματα ανοχής από όσο απαιτούνται λόγω της πιο κοντινής απόστασης τους από την κεραία. Έτσι για τους συγκεκριμένους πελάτες ισχύει ότι και έτσι:. (5) Υποθέτοντας ότι υπάρχει τοπικότητα της ζήτησης όπως περιγράφεται παραπάνω, μπορούμε να εξερευνήσουμε την προαναφερθείσα μείωση στην τιμή ανοχής σφάλματος, μειώνοντας δυναμικά την παράμετρο για κάθε αντικείμενο δεδομένων ώστε να ισχύει, όπου d η απόσταση της ομάδας που ζητά το αντικείμενο i. Η προτεινόμενη προσέγγιση λειτουργεί ως εξής: Κάθε αντικείμενο διατηρεί μία επικεφαλίδα που περιλαμβάνει πληροφορίες(για παράδειγμα έναν σειριακό αριθμό) που το ταυτοποιεί μοναδικά. Όλες οι επικεφαλίδες των αντικειμένων μεταδίδονται με μία προκαθορισμένη τιμή, ωστόσο η τιμή αυτή μπορεί να μεταβληθεί από τον εξυπηρέτη εκπομπής. Μετά την εκπομπή του 22

αντικειμένου i, ο εξυπηρέτης εκπομπής περιμένει παλμούς ανάδρασης από όλους τους δέκτες που ικανοποιήθηκαν από την εκπομπή. Από τη στιγμή που υποθέτουμε ότι οι πελάτες μιας συγκεκριμένης ομάδας έχουν τα ίδια ενδιαφέροντα ζήτησης, οι παλμοί ανάδρασης των πελατών θα φτάσουν στον εξυπηρέτη εκπομπής ταυτόχρονα. O εξυπηρέτης εκπομπής παρακολουθεί το χρόνο που μεσολαβεί από την εκπομπή, μέχρι την λήψη των παλμών αυτών και με αυτόν τον τρόπο υπολογίζει την απόσταση d της ομάδας των πελατών από την κεραία. O εξυπηρέτης εκπομπής χρησιμοποιεί αυτήν την πληροφορία για να μεταδώσει το φορτίο του επόμενο στιγμιότυπου του αντικειμένου i με διάρκεια δυαδικού ψηφίου τέτοια ώστε να ικανοποιεί τη σχέση: (5) Η μεταβολή της διάρκειας του δυαδικού ψηφίου δεν είναι πρόβλημα από το μέρος του πελάτη αφού μπορεί να ενημερωθεί για την αλλαγή απο την επικεφαλίδα του αντικειμένου που μεταδίδεται πάντα με την προκαθορισμένη τιμή. Υποστηρίζεται ότι η χρήση της (5) ελαχιστοποιεί το συνολικό μέσο χρόνο πρόσβασης, ο οποίος δίνεται από την παρακάτω σχέση: Όπου και η εκτιμώμενη πιθανότητα ζήτησης και το μέγεθος του αντικειμένου αντίστοιχα. Ωστόσο, στο σύστημα μεταβολής bit-rate, το μήκος του πακέτου στην απόσταση, εξαρτάται από το bit time ισούται με, έτσι τώρα έχουμε: που ζητήθηκε από μία ομάδα του συγκεκριμένου αντικειμένου και Έχουμε τις επόμενες πιθανές περιπτώσεις για επιλογή της απόστασης d σύμφωνα με το τι bit time θα θέσουμε για κάθε αντικείμενο i, που ζητείται απο μία ομάδα σε απόσταση από την κεραία: 23

1. d <. Σε αυτήν την περίπτωση, εφόσον, δεν έχουμε λήψη του αντικειμένου i, λόγω του υπερβολικά χαμηλού bit time (υψηλού bit rate) σε σχέση με αυτό που δίνεται στην εξίσωση (5) για d=. 2.. Σε αυτήν την περίπτωση, έχουμε λήψη, εφόσον διαπιστωθεί ότι θέτοντας d >. Μπορεί να, για κάθε αντικείμενο i έχουμε t (d) > t ( συνολικός μέσος χρόνος πρόσβασης ελαχιστοποιείται όταν d = ). Έτσι ο. Λαμβάνοντας υπόψη τους παλμούς ανάδρασης, ένας πελάτης απαντά με έναν τέτοιο παλμό όταν απαιτεί ένα αντικείμενο i και λαμβάνει την επικεφαλίδα του. Ωστόσο παρέχεται εξυπηρέτηση ακόμα και για τους πελάτες που έχουν απομακρυνθεί από την τοποθεσία της ομάδας τους. Υποθέτοντας ότι ένας πελάτης C, σε απόσταση d1 λαμβάνει μόνο την επικεφαλίδα του αντικειμένου i επειδή μεταδόθηκε με bit rate σύμφωνα με την ομάδα στην οποία ανήκει, η οποία στην προκειμένη περίπτωση είναι πιο κοντά στην κεραία. Σε αυτήν την περίπτωση ο εξυπηρέτης εκπομπής θα λάβει περισσότερους από έναν παλμούς ανάδρασης. Ο παλμός που θα φτάσει τελευταίος θα είναι αυτός του πελάτη C. Για να αποτρέψουμε τον συγκεκριμένο πελάτη απο τη στέρηση, ο εξυπηρέτης εκπομπής θα προγραμματίσει την επόμενη εκπομπή του πακέτου i σύμφωνα με τον παλμό ανάδρασης του C (ο οποίος βρίσκεται μακρύτερα). Αυτό δίνει τη δυνατότητα στον πελάτη να λάβει το πακέτο i στην επόμενη μετάδοσή του ακόμη και αν βρίσκεται πολύ πιο μακριά. Ωστόσο μετά από τη λήψη δε θα απαντήσει με κάποιον παλμό ανάδρασης για έτσι θα επικύρωνε δύο φορές μία μοναδική λήψη και αυτό θα έδινε ανακριβή αποτελέσματα στο σχήμα ανανέωσης εκτιμώμενων απαιτήσεων. Ακολουθεί ένα παράδειγμα για την καλύτερη κατανόηση του συστήματος: Υποθέτουμε την ύπαρξη ενός εξυπηρέτη εκπομπής που περιλαμβάνει μία βάση 2 αντικειμένων με μοναδιαίο μήκος και δύο ομάδες από πελάτες Α και Β, με την πρώτη ομάδα να έχει πρόσβαση στο πρώτο και τη δεύτερη στο δεύτερο αντικείμενο αντίστοιχα. Η ακτίνα κάλυψης της κεραίας είναι R και οι αποστάσεις των ομάδων Α και Β από την κεραία είναι = R/2 και = R/3 αντίστοιχα. Δύο πελάτες της ομάδας Α βρίσκονται μακρύτερα από την ομάδα του σε αποστάσεις R/4 και 3R/4.Επιπλέον ο πελάτης που βρίσκεται σε απόσταση 3R/4 (πελάτης C) πραγματοποιεί αιτήματα με μη μοναδιαία πιθανότητα ζήτησης. Τέλος,, ο παράγοντας εξασθένησης του σήματος είναι n=4 και αρχικά όλα τα αντικείμενα μεταδίδονται με. Περιγράφονται 5 βήματα του αλγόριθμου για το συγκεκριμένο παράδειγμα: 1. Υποθέτουμε ότι με τη διαδικασία επιλογής έχει επιλεχθεί για εκπομπή το πακέτο 2. a. Οι πελάτες της ομάδας Β λαμβάνουν το πακέτο 2 και απαντούν με παλμούς ανάδρασης. b. Με βάση τον χρόνο που πέρασε από την εκπομπή του αντικειμένου 2 και την λήψη της ανάδρασης από την ομάδα Β, ο εξυπηρέτης εκπομπής υπολογίζει την απόσταση της ομάδας Β από την κεραία και έτσι προγραμματίζει το επόμενο 24

στιγμιότυπο της εκπομπής του αντικειμένου 2 να γίνει με με που ισούται = 1/81. 2. Στη συνέχεια ο εξυπηρέτης εκπομπής εκπέμπει το αντικείμενο 1. a. Όλοι οι πελάτες της ομάδας Α, ζητούν το αντικείμενο 1, εκτός από τον πελάτη C και μεταδίδουν παλμούς ανάδρασης. b. Ο εξυπηρέτης εκπομπής λαμβάνει περισσότερες από μία ομάδες παλμών και προγραμματίζει την επόμενη εκπομπή του αντικειμένου 1 να γίνει σύμφωνα με τον παλμό που ανταποκρίνεται στην πιο μακρινή απόσταση από την κεραία, δηλαδή με που ισούται με 1/16 3. Μετά υποθέτουμε ότι ο εξυπηρέτης εκπομπής αποφασίζει να μεταδώσει ξανά το αντικείμενο 1 με a. Όλοι οι πελάτες της ομάδας Α, συμπεριλαμβανομένου του πελάτη C, ζητούν το αντικείμενο 1. Όπως είναι αναμενόμενο, λόγω του αυξημένου bit rate, το αντικείμενο 1 λαμβάνεται από όλους τους πελάτες της ομάδας Α εκτός από τον πελάτη C ο οποίος λαμβάνει μόνο την επικεφαλίδα του αντικειμένου 1. Ωστόσο όλοι οι πελάτες της ομάδας Α, μαζί με τον πελάτη C, απαντούν με παλμούς ανάδρασης. b. Ο εξυπηρέτης εκπομπής δέχεται 3 ομάδες παλμών και προγραμματίζει την επόμενη εκπομπή του αντικειμένου 1 να γίνει σύμφωνα με τον παλμό της ομάδας που είναι πιο απομακρυσμένη (του πελάτη C), δηλαδή με, που ισούται με 0.31 4. Μετά, ο εξυπηρέτης εκπομπής αποφασίζει να μεταδώσει το αντικείμενο 2 με όπως υπολογίστηκε προηγουμένως, και όλα τα γεγονότα πραγματοποιούνται ακριβώς όπως στο βήμα 1. 5. Μετά, υποθέτουμε ότι ο εξυπηρέτης εκπομπής μεταδίδει ξανά το αντικείμενο 1 με όπως υπολογίστηκε στο βήμα 3. a. Όλοι οι πελάτες της ομάδας Α, μαζί και ο πελάτης C, ζητούν και λαμβάνουν το αντικείμενο 1 b. Όλοι οι πελάτες της ομάδας Α απαντούν με παλμό ανάδρασης, εκτός από τον πελάτη C για να μην επικυρώσει για δεύτερη φορά το πακέτο που έλαβε μία φορά. Έτσι η επόμενη εκπομπή του αντικειμένου 1 αποφασίζεται να γίνει με. 25

2.5 Σύστημα πολλαπλών κεραιών Όπως προαναφέρθηκε, σύμφωνα με την τοπικότητα της ζήτησης, στην περιοχή κάλυψη υπάρχουν διασκορπισμένες ομάδες πελατών, οι οποίες ενδιαφέρονται για ξεχωριστά αντικείμενα. Όταν αυτές οι ομάδες εξυπηρετούνται από τον ίδιο εκπομπό, η διαφορετικότητα στα αντικείμενα που ζητούνται προκαλεί μείωση στην ασυμμετρία της ζήτησης με αποτέλεσμα να προκαλείται μία συνολική μείωση στην απόδοση του συστήματος. Για να αποφευχθεί το πρόβλημα αυτό, προτείνεται ένα σύστημα το οποίο χρησιμοποιεί περισσότερους από έναν εκπομπούς, καθένας εξοπλισμένος με μία κατευθυντήρια κεραία και ένα μανθάνον αυτόματο για την εκτίμηση των πιθανοτήτων ζήτησης των αντικειμένων που υπάγονται στο εύρος της κάθε κεραίας. Με αυτόν τον τρόπο διαχωρίζουμε την περιοχή κάλυψη σε διαφορετικές ζώνες με υψηλότερη ασυμμετρία ζήτησης, και έτσι έχουμε υψηλότερη απόδοση σε σχέση με το σύστημα που χρησιμοποιεί μία κεραία. Η βελτίωση της απόδοσης επιβεβαιώνεται στα πειραματικά αποτελέσματα στο επόμενο κεφάλαιο. Επιπλέον, η προσομοίωση δείχνει ότι το να διαχωρίσουμε την περιοχή κάλυψης σε έναν μεγάλο αριθμό από ζώνες δεν είναι απαραίτητο, αφού ο αριθμός των ζωνών δεν είναι απόλυτα ανάλογος με την αύξηση της απόδοσης. Η χρήση το πολύ μέχρι τριών κεραιών επιφέρει σημαντική αύξηση της απόδοσης και είναι αρκετή για να έχουμε σημαντική βελτίωση σε σχέση με το σύστημα μίας κεραίας. 3 Υλοποίηση Προσομοίωσης 3.1 Γενικές πληροφορίες Ο προσομοιωτής υλοποιήθηκε σε περιβάλλον java netbeans: Product Version: NetBeans IDE 7.0.1 (Build 201107282000) Java: 1.7.0; Java HotSpot(TM) Client VM 21.0-b17 26

System: Windows 7 version 6.1 running on x86; Cp1252; en_us (nb) Για την εισαγωγή των μεταβλητών προσομοίωσης χρησιμοποιείται το αρχείο settings.conf, στο τέλος της προσομοίωσης ο μέσος χρόνος πρόσβασης των πελατών εκτυπώνεται στην οθόνη. Για το συγκεκριμένο σύστημα δεν χρησιμοποιήθηκε γραφικό περιβάλλον και επιπλέον λόγω της φύσης του, είναι OS independent. Το κεφάλαιο αυτό περιλαμβάνει σχηματική αναπαράσταση του κώδικα καθώς και επεξήγηση των κυριότερων κλάσεων και μεθόδων. 3.2 Διαγράμματα Ροής 27

Ει κόνα 3: Διάγραμμα ροής Εξομοιωτή 28

Εικόνα 4: Διάγραμμα ροής μηχανισμού μεταβολής Bit - Rate 29

3.3 Συνολική εικόνα προγράμματος Οι κλάσεις που χρησιμοποιήθηκαν στην υλοποίηση του προσομοιωτή είναι οι εξής: Antenna Κλάση αναπαράστασης την οντότητας της κεραίας Bitvariation Κλάση διαχείρισης της εκπομπής Group Κλάση που αναπαριστά την ομάδα των πελατών GroupSetter Κλάση διαχείρισης των ομάδων, των πελατών και των κεραιών Input Χρησιμοποίηση κλάσης για συλλογή δεδομένων εισόδου Multibitvar Κύρια κλάση main Node Κλάση που αναπαριστά τον πελάτη Packet Κλάση που αναπαριστά το αντικείμενο δεδομένων Setter Κλάση διαχείρισης της βάσης δεδομένων 30

Εικόνα 5: Αφαιρετικό σχήμα UML 31

3.4 Κυριότερα σημεία του προγράμματος 3.4.1 Κλάση Node Η κλάση node προσδιορίζει την οντότητα του πελάτη, διατηρεί χαρακτηριστικά όπως ο μέσος χρόνος απόκρισης(mat), ο αριθμός ληφθέντων αντικειμένων (received), ο χρόνος τελευταίας λήψης (response), η κατάστασή του (status), το ζητούμενο αντικείμενο (request), η απόστασή του από την κεραία (location), καθώς και την τιμή της γωνίας (degrees) για να προσδιοριστεί το ακριβές σημείο του πάνω στην περιοχή κάλυψης. Τέλος, διατηρεί ακόμη ένα arraylist που αποθηκεύει την πιθανότητες ζήτησης κάθε αντικειμένου για τον συγκεκριμένο πελάτη. package multibitvar; import java.util.*; * Class node representing entity of the client * * @author Andrew public class Node { * Used for storing each client's mat public double mat; * Used for storing each client's received packets number public int received; * Used for storing last time reception private int response; * Used for determining if a client is ready private int status; 32

* Used for storing item requested by client private int request; * Used for requested item selection private double des; * Used for storing client's location public int location; * Used for storing client's angle position public int degrees; * Used for storing each item's demand probability private ArrayList<Double> dem= new ArrayList<Double>(); * Used for flagging a client as deviated public Boolean dev; 3.4.2 Κλάση Packet Η κλάση packet προσδιορίζει την οντότητα του κάθε αντικειμένου της βάσης δεδομένων, τα χαρακτηριστικά της είναι το μέγεθος του συγκεκριμένου πακέτου (length), η στιγμή μου μεταδόθηκε τελευταία φορά καθώς(r) και η εκτιμώμενη πιθανότητα ζήτησής του(prοb). 33

package multibitvar; import java.util.*; * Class that represents a database item * * @author Andrew public class Packet { private double prob; private int r; private int length; 3.4.3 Κλάση Antenna Η κλάση Antenna προσδιορίζει την οντότητα της κεραίας. Χαρακτηριστικά της είναι οι μεταβλητές start και end που προσδιορίζουν το εύρος της γωνίας που καλύπτει. package multibitvar; import java.util.*; * Class that represents Antenna entity * * @author Andrew public class Antenna { private int start; private int end; 34

3.4.4 Κλάση Group Η κλάση Group προσδιορίζει την οντότητα της ομάδας των πελατών. Χαρακτηριστικά της είναι οι μεταβλητές ulimit, llimit(άνω και κάτω όριο της περιοχής της ομάδας), τοποθεσία της ομάδας(pos), μοιρές(degrees), πυκνότητα(density), αριθμός αντικειμένων ενδιαφέροντος(dedataset). package multibitvar; import java.util.*; * Class that represents groups of clients * * @author Andrew public class Group { * Upper limit of group area * * public int ulimit; * Lower limit of a group area * public int llimit; * Groups position public int pos; * Group's degrees public int degrees; * Group's density public int density; * Data subset dedicated to group public int dedataset; 35

3.4.5 Κλάση Setter Η κλάση Setter κάνει τη διαχείριση της βάσης δεδομένων των αντικειμένων. Ο κύριος σκοπός της είναι να υλοποιεί το σχήμα μεγεθών του συνόλου των αντικειμένων. Για την επίτευξη του σκοπού αυτού χρησιμοποιούνται δύο μέθοδοι: public void setzipf(int dbs): H μέθοδος αυτή παίρνει ως είσοδο τον αριθμό των αντικειμένων της βάσης και προσδιορίζει το μέγεθος του καθενός σύμφωνα με την κατανομή zipf. Το μέγεθος του κάθε αντικειμένου i υπολογίζεται σύμφωνα με τη σχέση: Όπου [ ] το εύρος μήκους των αντικειμένων, Μ το σύνολο των αντικειμένων της βάσης και round() μία συνάρτηση στρογγυλοποίησης γιατί οι τιμές του μήκους των αντικειμένων είναι ακέραιες. public void setrandom(int dbs): H μέθοδος αυτή παίρνει ως είσοδο τον αριθμό των αντικειμένων της βάσης και προσδιορίζει το μέγεθος του καθενός σύμφωνα με τυχαία κατανομή στο εύρος 1-10. Τέλος η κλάση Setter, αρχικοποιεί της τιμές r(χρόνος τελευταίας εκπομπής πακέτου) στην τιμή 1, και την εκτιμώμενη πιθανότητα ζήτησης prob στην τιμή 1/συνολικό_αριθμό_αντικειμένων. 36

package multibitvar; import java.util.*; * Class that manages database * * @author Andrew public class Setter { * Number of database items public int dbs; * Arraylist of database items public ArrayList<Packet> database = new ArrayList<Packet>(); * Constructor with no arguments for class setter public Setter(){ dbs=300; * * @param k database items public Setter(int k){ dbs=k; * * @return database items public int getdbs(){ return dbs; * * @param k item's number * @return item's length public int getlength(int k){ Packet p = new Packet(); p = database.get(k); return p.getlength(); * * @param k item's number * @return item's last transmission time public int getr(int k){ Packet p = new Packet(); p = database.get(k); return p.getr(); 37

* * @param k item's number * @return item's probability estimation public double getprob(int k){ Packet p = new Packet(); p = database.get(k); return p.getprob(); * * @param k item's number * @param r item's last transmission time public void setr(int k, int r){ Packet p =new Packet(); p = database.get(k); p.setr(r); database.set(k,p); * * @param k item's number * @param l item's length public void setlength(int k, int l){ Packet p =new Packet(); p = database.get(k); p.setlength(l); database.set(k,p); * * @param k item's number * @param prob item's probability estimation public void setprob(int k, double prob){ Packet p =new Packet(); p = database.get(k); p.setprob(prob); database.set(k,p); * Function that sets database item lengths * with zipf distribution * * @param dbs Number of database items public void setzipf(int dbs){ float l1=10; float l0=1; int length,k=1; 38

for (int i=0;i<dbs;i++){ length=math.round((l1-l0)/(dbs-1)*(k-1)+l0); Packet p = new Packet(length); database.add(i,p); setprob(i,(double)1/dbs); setr(i,-1); k++; * Function that sets database item lengths * with random distribution * * @param dbs Number of database items public void setrandom(int dbs){ int length=0,k=1; Random rn = new Random(); for (int i=0;i<dbs;i++){ do{ length=rn.nextint(10); while(length==0); Packet p = new Packet(length); database.add(i,p); setprob(i,(double)1/dbs); setr(i,-1); * * @return database arraylist public ArrayList<Packet> getdatabase(){ return database; 39

3.4.6 Κλάση GroupSetter Η κλάση GroupSetter καλείται να διαχειριστεί τις οντότητες των πελατών, των ομάδων και των κεραιών. Μερικές απο τις κυριότερες μεθόδους της κλάσης αυτής περιγράφονται παρακάτω. 3.4.6.1 Μέθοδος υπολογισμού θέσης των ομάδων public void setpositionsran(): Οι θέσεις των ομάδων των πελατών αφορούν πολικές συντεταγμένες που επιλέγονται τυχαία. Ποιό συγκεκριμένα η απόσταση των ομάδων από την κεραία επιλέγεται μέσα στο διάστημα [1,...,100] και σε μοίρες [0,...359], οι τιμές της απόστασης καθώς και των μοιρών είναι ακέραιες. public void setpositionsran(){ int a=0, b=0, k=0,l=0; for (int i=0;i<gnum;i++){ k = randomintrange(1,100); l = randomintrange(0,359); if ( k - grsize < 0){ a = -(k - grsize); else{ a = k -grsize; if ( k + grsize > 100){ b = 100; else{ b= k + grsize; Group g = new Group(b,a,k,l); groupset.add(g); k=k+20; 40

3.4.6.2 Μέθοδος υπολογισμού υποσυνόλου ενδιαφέροντος αντικειμένων των ομάδων Κάθε πελάτης που βρίσκεται στην ομάδα g, ενδιαφέρεται για ένα υποσύνολο της βάσης δεδομένων του εξυπηρέτη εκπομπής. Τα υποσύνολα αυτά είναι ανεξάρτητα μεταξύ τους, δηλαδή όλα τα υπόλοιπα αντικείμενα πέρα από αυτά του υποσυνόλου έχουν μηδενικές πιθανότητες ζήτησης. Ο αριθμός το μέγεθος του υποσυνόλου αυτού υπολογίζεται ως εξής: 1. 2. public void setgroupdatafixed(): O αριθμός του υποσυνόλου των αντικειμένων του κάθε group είναι σταθερός και συγκεκριμένος. Αυτό σημαίνει ότι κάθε ομάδα διατηρεί ίσο και σταθερό αριθμό αντικειμένων ενδιαφέροντος, γεγονός που σημαίνει αύξηση του συνόλου της βάσης δεδομένων με την αύξηση των ομάδων. public void setgroupdata(): Ο αριθμός των αντικειμένων του υποσυνόλου του κάθε group είναι ίσος με 1/group_number. Σε αυτήν την περίπτωση ο αριθμός των αντικειμένων της βάσης δεδομένων είναι σταθερός και όσο αυξάνονται οι ομάδες των πελατών τόσο μειώνεται το υποσύνολο των αντικειμένων της βάσης που είναι αφοσιωμένα σε αυτές. public void setgroupdatafixed(){ Group g1 = new Group(); for(int i=0;i<gnum;i++){ g1 = groupset.get(i); g1.setdedataset(20); groupset.set(i,g1); 41

* Function dedicates subsets to groups * public void setgroupdata(){ Group g1 = new Group(); int k = 300%gnum; int sum= 0, l=0; for(int i=0;i<gnum;i++){ g1 = groupset.get(i); g1.setdedataset(math.round(300/gnum)); groupset.set(i,g1); sum+=math.round(300/gnum); 3.4.6.3 Μέθοδος πιθανοτήτων ζήτησης των αντικειμένων της κάθε ομάδας Όπως αναφέρθηκε παραπάνω κάθε ομάδα πελατών ενδιαφέρεται για ένα υποσύνολο αντικειμένων της βάσης που είναι διαφορετικό από εκείνο των άλλων ομάδων. Οι πιθανότητες ζήτησης του συνόλου αυτού [1,...,num] υπολογίζονται με τη βοήθεια του παράγοντα Θ και της zipf κατανομής: Όταν ο παράγοντας Θ είναι μηδενικός τα αντικείμενα της κάθε ομάδας έχουν ίσες πιθανότητες ζήτησης, αντίθετα όσο το Θ μεγαλώνει τόσο αυξάνεται και η ασυμμετρία στις πιθανότητες ζήτησης μεταξύ των αντικειμένων. Ωστόσο το άθροισμα των πιθανοτήτων ζήτησης των αντικειμένων της κάθε ομάδας πρέπει να ισούται πάντα με τη μονάδα. Επειδή είναι πιθανόν όταν το Θ > 1 οι πιθανότητες ζήτησης των τελευταίων αντικειμένων να είναι πολύ κοντά στο μηδέν και έτσι να μην μεταδοθούν μετά από τον υπολογισμό των πιθανοτήτων ζήτησης χρησιμοποιούμε μιας μορφής κανονικοποίηση. 42

public void setnorm(double theta){ int starta=0,startb=0; double sum=0,chksum=0,c=0; int fina=0, finb=0, dbs=300; Group g1 = new Group(); Integer[] countable= new Integer[dbs]; Double[] test= new Double[dbs]; double[] norm = new double[clnumber]; int t=0; for (int g=0;g<gnum;g++){ int tt=1; for (int j=0;j<getdataset(g);j++){ countable[t]=tt; t++; tt++; for (int g=0;g<gnum;g++){ sum=0; for(int j=1;j<getdataset(g);j++){ sum=sum+math.pow(1.0/j, theta); c=1/sum; starta=fina; fina=fina+getdensity(g); startb=finb; finb=finb+getdataset(g); for(int i=starta;i<fina;i++){ chksum=0; for(int p=0;p<dbs;p++){ if ((p>=startb) && (p< finb)){ chksum=chksum+rounddem(c*(math.pow(1.0/countable[p],theta))); setdem(i,p,c*(math.pow(1.0/countable[p],theta))); else{ setdem(i,p,0.0); norm[g]=chksum for(int i=starta;i<fina;i++){ chksum=0; for(int p=0;p<dbs;p++){ if ((p>=startb) && (p< finb)){ setdem(i,p,getdem(i,p)/norm[g]); chksum=chksum+getdem(i,p); test[p]=getdem(i,p)/norm[g]; else{ setdem(i,p,0.0); 43

3.4.6.4 Μέθοδος υπολογισμού πυκνότητας των ομάδων public void setdensity(double theta1): H πυκνότητα p της κάθε ομάδας i (με τον συνολικό αριθμό των ομάδων = Num) εκφράζει τον αριθμό των πελατών που περιέχει και υπολογίζεται σύμφωνα με τον παράγοντα θ1 και την φόρμουλα της zipf κατανομής: Όταν ο παράγοντας θ1=0, τότε οι ομάδες είναι ισομεγέθης, όσο ο παράγοντας αυξάνεται τόσο μεγαλώνει και η ασυμμετρία μεταξύ των ομάδων με τις πρώτες ομάδες να είναι πολυπληθέστερες σε σχέση με τις τελευταίες. Ωστόσο επειδή μετά από τον υπολογισμό της πυκνότητας της κάθε ομάδας, λόγω της στρογγυλοποίησης, δεν είναι απόλυτο το γεγονός ότι το άθροισμα των πελατών θα ισούται με το αρχικό τους σύνολο, εφαρμόζουμε μιας μορφής κανονικοποίηση. * Function that sets group's density * * @param theta1 public void setdensity(double theta1){ int g,den; double w,sum=0; for(g=1;g<gnum+1;g++){ w= Math.pow(g, theta1); sum= sum + (1/w); double c1=1/sum; sum=0; for(g=1;g<gnum+1;g++){ w= Math.pow(g, theta1); double clratio=c1*(1/w); Group group = groupset.get(g-1); 44

den=(int) Math.round(clnumber*clratio); group.setdensity(den); groupset.set(g-1,group); sum=sum+den; if (sum < clnumber ) { int l =(int) ((int) clnumber-sum); for(int i=0;i<l;i++){ Group group = groupset.get(i); group.setdensity(group.density+1); groupset.set(i, group); if (sum > clnumber) { int k =(int) sum-clnumber; for(int i=0;i<k;i++){ Group group = groupset.get(i); group.setdensity(group.density-1); groupset.set(i, group); 3.4.6.5 Μέθοδος τοποθέτησης των πελατών Στη συνέχεια κάθε πελάτης τοποθετείται μέσα στην περιοχή της ομάδας στην οποία ανήκει. Αυτό γίνεται επιλέγοντας μία τυχαία, ακέραια τιμή ανάμεσα στα όρια της ομάδας του (ulimit,llimit), επιπλέον στον κάθε πελάτη δίνεται η τιμή της γωνίας της ομάδας του(degree) και τέλος αρχικοποιείται το flag της απόκλισής του σε false. Στο παρακάτω σχήμα (εικόνα 6) διακρίνεται η τοποθέτηση των πελατών σε ένα σύστημα που χρησιμοποιεί 3 κεραίες. Το γράφημα έχει δημιουργηθεί για 1000 πελάτες κατανεμημένους ισόποσα(θ1=0) σε 20 ομάδες, η διαφορετικότητα των ομάδων αποδίδεται με διαφορετικά χρώματα καθώς και τα διαχωριστικά στην περιοχή κάλυψης αντιπροσωπεύουν τη γωνία κάλυψης της κάθε κεραίας. 45

Εικόνα 6: Κατανομή πελατών σε ομάδες στην περιοχή κάλυψης, σε σύστημα τριών κεραιών. public void setnodepos(){ int start=0, fin=0; for(int g=0;g<gnum;g++){ start=fin; fin=fin+getdensity(g); for(int i=start;i<fin;i++){ Node n1 = new Node(randomIntRange(getLlimit(g),getUlimit(g)),false,getGDegrees(g)); nodeset.add(n1); 46