690 likes | 809 Views
Position based routing algorithms for ad-hoc networks: A taxonomy. Silvia Giordano, Ivan Stojmenovic Ljubica Blazevic Παρουσίαση: Λεοντιάδης Ηλίας. Εισαγωγή. Έχουμε ένα δίκτυο από ασύρματους κόμβους που επικοινωνούν μεταξύ τους χωρίς κάποια σταθερή υποδομή.
E N D
Position based routing algorithms for ad-hoc networks: A taxonomy Silvia Giordano, Ivan Stojmenovic Ljubica Blazevic Παρουσίαση: Λεοντιάδης Ηλίας
Εισαγωγή • Έχουμε ένα δίκτυο από ασύρματους κόμβους που επικοινωνούν μεταξύ τους χωρίς κάποια σταθερή υποδομή. • Για παράδειγμα δίκτυα από sensors • Κόμβοι σε ένα πεδίο μάχης • Ασύρματα μητροπολιτικά δίκτυα. • Οι κόμβοι μπορεί να μετακινούνται ή να αποσυνδέονται • Στόχος είναι η δρομολόγηση μηνυμάτων σε αυτούς τους κόμβους. • Το δίκτυο θα πρέπει να είναι αυτορυθμιζόμενο (δηλαδή δεν υπάρχει κάποια γενική γνώση/αρχή) • Οι αλγόριθμοι που θα δούμε χρησιμοποιούν πληροφορία σχετικά με την γεωγραφική θέση των κόμβων.
Unit graph model • Δύο κόμβοι είναι γείτονες αν η απόσταση τους είναι μικρότερη από Radius • Η ακτίνα R είναι η ίδια για όλους τους κόμβους του δικτύου. • Παραλλαγές • Εμπόδια • Διαφορετικές ακτίνες για κάθε κόμβο • Κατευθυντικά links
Unit graph model • Λόγω της περιορισμένης ακτίνας η μετάδοση ενός μηνύματος απαιτεί πολλά hops. • Η αποστολή δεν είναι απλή γιατί οι κόμβοι μετακινούνται/αλλάζουν με αποτέλεσμα να προκύπτουν απροσδόκητες αλλαγές στην τοπολογία • Ο κόμβος προορισμού είναι γνωστός μόνο από την γεωγραφική του θέση • Η απόσταση μεταξύ των γειτονικών κόμβων μπορεί να υπολογιστεί με βάση την εισερχόμενη ισχύ του σήματος. Εναλλακτικά μπορεί να χρησιμοποιηθεί GPS.
Position-Based RoutingProtocol Taxonomy • Ποιοτικά και ποσοτικά κριτήρια για την αξιολόγηση της απόδοσης δικτύων • Ποιοτικά μέτρα (παραδείγματα) • Distributed operation • Loop-freedom • Demand-based • Sleep period operation
Loop-freedom • Το αν ο αλγόριθμος αποτρέπει την λήψη ενός μηνύματος παραπάνω από μία φορά από τον ίδιο κόμβο • Πρέπει να είναι εvγένει loop-free ώστε να μην χρειάζεται να αποθηκεύουμε παλιά μηνύματα (με στόχο να μην τα ξανά-μεταδώσουμε).
Distributed operation • Localized routing • Τοπικοί υπολογισμοί επιτυγχάνουν τον επιθυμητό γενικό στόχο. • Κάθε κόμβος αποφασίζει σε ποιόν θα προωθήσει το μήνυμα βασιζόμενος μόνο σε τοπικές πληροφορίες • Τον παραλήπτη • Την δικιά του θέση • Την θέση των γειτόνων • Global routing • Κάθε κόμβος γνωρίζει την θέση κάθε άλλου κόμβου του δικτίου. Πρόβλημα ισοδύναμο με το shortest path. • Zone routing • Ανάμεσα στα παραπάνω δύο • Το δίκτυο χωρίζεται σε ζώνες. • Εσωτερικά της κάθε ζώνης χρησιμοποιείται το local routing • Για δρομολόγηση μεταξύ ζωνών χρησιμοποιείται το shortest path.
Path strategies • Single path • Η ποιο σύντομη διαδρομή χρησιμοποιείται • Μόνο ένα αντίγραφο του μηνύματος υπάρχει στο δίκτυο κάθε χρονική στιγμή • Flooding • Το δίκτυο (ή μέρος του) πλημμυρίζεται με το μήνυμα με στόχο να φτάσει κάποτε και στον τελικό αποδέκτη. • Multi-path • Αποτελείται από λίγα απλά και αναγνωρίσιμα μονοπάτια. • Συνδυασμοί παραπάνω στρατηγικών • Single-path/flooding • Single-path/multi-path
Metrics • Hop count • Υποθέτει ότι η καθυστέρηση είναι ανάλογη με τον αριθμό των hops που μεσολαβούν. • Power metric • Η ακτίνα επικοινωνίας αυξάνει το κόστος. Άρα ψάχνουμε διαδρομές με μικρές ακτίνες. • Προϋποθέτει ότι οι κόμβοι μπορούν να ρυθμίζουν την ενέργεια εκπομπής. • Cost metric • Στόχος η μεγιστοποίηση των routing λειτουργιών που μπορεί να επιτελέσει το δίκτυο. • Εύρεση path από κόμβους που έχουν αρκετή ενέργεια (ακόμα και αν το path είναι μεγαλύτερο)
Memorization • Είναι καλύτερο να αποφεύγεται η αποθήκευση του προηγούμενου traffic • Παρόλα αυτά, αυτό δεν αποτελεί πολλά resources γιατί: • Αυτό απαιτείται για μικρό χρονικό διάστημα • Πλέον η μνήμη είναι άφθονη • Απαιτείται για να βελτιωθεί το Quality of service path (QoS) • Αφού βρεθεί το μονοπάτι με το μικρότερο delay, bandwidth, το απομνημονεύουμε ώστε να ξαναχρησιμοποιηθεί.
Guaranteed message delivery • Delivery rate: • Ο λόγος των μηνυμάτων που φτάνουν στον προορισμό τους προς τα συνολικά που στάλθηκαν • Το καλύτερο μοντέλο είναι αυτό που εγγυάται την παράδοση όλων των μηνυμάτων.
Scalability • Απλό κριτήριο • Loop free • Localized • Single path
Robustness • Πόσο αξιόπιστος είναι ένα αλγόριθμος όταν η πληροφορία για την θέση του παραλήπτη δεν είναι ακριβής. • Το πρόβλημα της ενημέρωσης για την μετακίνηση ενός κόμβου είναι δύσκολο και δεν υπάρχει γενική λύση. • Για μικρά δίκτυα • Μικρά μηνύματα: αποστολή με flooding • Μεγάλα μηνύματα: διαδικασία αναζήτησης με το να εκπέμπουμε ένα μικρό μήνυμα. • Για μεγάλα δίκτυα • Πρέπει ο αλγόριθμος να συνεργάζεται με το δίκτυο δυναμικά • Πρέπει να υπάρχουν εναλλακτικές στρατηγικές για την εύρεση του κόμβου. • Πρέπει οι αλγόριθμοι να μπορούν να παραδώσουν μηνύματα όταν το μοντέλο διαφέρει από το unit graph • Υπάρχουν εμπόδια • Υπάρχει θόρυβος • Οι ακτίνες εκπομπής δεν είναι ίδιες
Κατηγορίες των υπαρχόντων routing schemes • Basic Distance, Progress and Direction Based Methods. • Partial Flooding and Multi-path Based Path Strategies. • Depth First Search Based Routing with Guaranteed Delivery. • Nearly Stateless Routing with Guaranteed Delivery. • Power and Cost Aware Routing • Hierarchical Routing
Random progress method • Τα πακέτα προωθούνται σε οποιοδήποτε κόμβο έχει θετική πρόοδο • Έχει ως στόχο να μειώσει τα collisions (αφού τα πακέτα στέλνονται τυχαία) με κόστος το ότι δεν μεγιστοποιεί την πρόοδο.
MFR (most forward within radius) • Το πακέτο στέλνεται στον κόμβο που παρουσιάζει την μεγαλύτερη πρόοδο. • Είναι loop-free • Είναι ανταγωνιστικός σε ότι αφορά τον αριθμό των hops
Greedy scheme • Παραλλαγή της random progress method • Επιλέγει τον γείτονα που είναι πιο κοντά στον προορισμό • Αν δεν υπάρχει τέτοιος κόμβος ψάχνουμε σε όλους τους n-hop κόμβους (flooding) μέχρι να βρεθεί κάποιος κόμβος που είναι ποιο κοντά. • Simulations έχουν δείξει ότι κατά 99% των περιπτώσεων τα paths του greedy και του MFR είναι ίδια
GEDIR • Παραλλαγή του greedy αλγορίθμου • Το μήνυμα εγκαταλείπεται όταν η καλύτερη επιλογή για έναν κόμβο είναι να το γυρίσει πίσω στον κόμβο που του το έστειλε. • Αυξάνει τον ρυθμό παράδοσης με το να επιμηκύνει την αποτυχία. • Βελτιώση • Όσο το μήνυμα προωθείται ποίο κοντά στον προορισμό, οι πληροφορίες του για την θέση του κόμβου προορισμού γίνονται όλο και ποιο ακριβείς.
2hop greedy method • Το μήνυμα στέλνεται στον καλύτερο γείτονα μεταξύ των κόμβων που απέχουν 1hop και 2hop • Η μέθοδος αυτή βρίσκει εφαρμογή σε πολλές από τις μεθόδους που θα παρουσιάσουμε.
Alternate greedy • To ι-οστό αντίγραφο του μηνύματος που λάβαμε προωθείται στον ι-οστό καλύτερο γείτονα. • Αν οι γείτονες είναι λιγότεροι το μήνυμα απορρίπτεται. Disjoint greedy • Στέλνει το μήνυμα στον καλύτερο γείτονα ανάμεσα σε αυτούς που δεν το έχουν λάβει ως τώρα. • Και οι δύο μειώνουν τα ποσοστά αποτυχίας (σε σχέση με τον greedy) χρησιμοποιώντας μνήμη.
DIR-compass method • Υπολογίζουμε την διεύθυνση (direction) του παραλήπτη. • Το μήνυμα προωθείται στον γείτονα που η διεύθυνσή του είναι κοντινότερα στην διεύθυνση του παραλήπτη (μικρότερη γωνία)
DIR-compass method • O DIR όπως και οποιοσδήποτε άλλος αλγόριθμος χρησιμοποιεί διευθύνσεις (directions) έχει loops. • E->F->G->H->E
Σύγκριση DIR/GETDIR • Το hop-count του DIR είναι μεγαλύτερο • Τα ποσοστά επιτυχίας είναι παρόμοια • Και οι δύο μέθοδοι έχουν υψηλά ποσοστά επιτυχίας σε πυκνά δίκτυα και μικρά ποσοστά σε αραιά • Λιγότερα από τα μισά μηνύματα παραδίδονται αν ο μέσος βαθμός είναι 4. • Όταν έχουμε επιτυχής παράδοση το hop-count για τους greedy και MFR είναι σχεδόν ίσο με αυτό του αλγορίθμου shortest-path.
Flooding and partial flooding • Μετάδοση του μηνύματος σε πολλούς γείτονες που η κατεύθυνση τους είναι κοντά στην κατεύθυνση του τελικού κόμβου • Απαιτεί οι κόμβοι να απομνημονεύουν παλιότερα μηνύματα έτσι ώστε να αποφεύγονται επαναμεταδώσεις • Partial flooding • Κατευθύνεται προς συγκεκριμένο κομμάτι του δικτύου. • Σταματάει μετά από ένα αριθμό hops • Χρησιμοποιείται τόσο για την εύρεση μιας διαδρομής όσο και για την προώθηση μηνυμάτων.
DREAM • Το μήνυμα προωθείται σε όλους τους γείτονες που ανήκουν σε μία περιοχή που οριοθετείται ανάμεσα από τις δύο εφαπτόμενες που ορίζονται από τον κύκλο • με κέντρο τον παραλήπτη • και ακτίνα ίση με την μέγιστη δυνατή μετακίνηση του παραλήπτη.
LAR (location aided routing) • Η περιοχή ανάμεσα στις δύο εφαπτόμενες καθορίζεται από την αρχική πηγή και οι κόμβοι που δεν ανήκουν σε αυτή την περιοχή απλά δεν προωθούν το μήνυμα. • Ένας κόμβος προωθεί το μήνυμα σε όλους του γείτονες που είναι ποιο κοντά στον παραλήπτη.
V-GEDIR, CH-MFR • Το μήνυμα στέλνεται ακριβώς σε όσους γείτονεςείναι καλύτερες επιλογές για την πιθανή θέση του κόμβου • Distance (DIR methods) • Progress(MFR) • V-Gedir • Κατασκευάζει το voronoi διάγραμμα • Οι κόμβοι που βρίσκονται στις περιοχές που τέμνει ο κύκλος της πιθανής νέας θέσης του κόμβου επιλέγονται. • CH-MFR • Υπολογίζει το convex hull των κόμβων που περιέχουν τον κύκλο
Flooding greedy/GEDIR (f-greedy,f-gedir,f-dir)Flooding MFR (f-MFR) • Στόχος να αποφευχθεί το message dropping. • Όταν ο αρχικός αλγόριθμος θα απέρριπτε το μήνυμα (σε ένα κύλο κόμβο) • τώρα το κάνουμε flood σε όλους τους γείτονες. • Οι γείτονες δεν θα ξανά-στείλουν ποτέ το μήνυμα πίσω στον κόμβο. • Εγγυάται την παράδοση του μηνύματος αν υπάρχει σύνδεση με τον παραλήπτη. • Πειράματα έδειξαν μειωμένο flooding rates σε σχέση με τον LAR/DREAM • Προκαλεί flooding σε αραιά γραφήμτα • Πλησιάζει τον greedy αλγόριθμο σε πυκνά
Component routing • Βελτίωση προηγούμενου αλγορίθμου • Αντί να σταλθεί το μήνυμα σε όλους του γείτονες επιλέγεται ένας γείτονας από κάθε συνδεδεμένη συνιστώσα του υπογράφου που αποτελείται από τους γείτονες του κοίλουκόμβου. • Υπάρχουν το πολύ τρεις τέτοιοι γείτονες σε ένα unit graph model • Έτσι δημιουργούνται παράλληλα μονοπάτια
Multi path method • Προωθεί το μήνυμα στους C καλύτερους γείτονες όσον αφορά την απόστασή τους από τον προορισμό. • Μετά τα C αυτά αντίγραφα στέλνονται σύμφωνα με τον greedy/disjoint/alternate αλγόριθμο(c-greedy, c-disjoint, c-alternate) • Τα πειράματα έδειξαν • σημαντικό κέρδος για c = 2 • Κάποιο κέρδος για c = 3 • Μη σημαντικό κέρδος για c > 3 • Το flooding rate αυξάνεται με το c και μόνο η τιμή c=2 δικαιολογεί την χρήση περισσοτέρων resources.
Terminode routing • Σχεδιάστηκε με στόχο το scalability και robustness. • Συνδυασμός δύο πρωτοκόλλων • Terminode local routing (TTR) • Χρησιμοποιείται για κόμβους που είναι στην περιοχή του terminode και δεν χρησιμοποιεί την πληροφορία για την θέση για να πάρει αποφάσεις για το πού θα προωθήσει το μήνυμα. • Terminode remote routing (TRR) • Χρησιμοποιείται για να στείλει πακέτα σε απομακρισμένες περιοχές και χρησιμοποιεί γεωγραφικές πληροφορίες. • Anchored Geodesic Packet Forwarding (AGPF) • Anchored paths
AGPF • Anchors: Σημεία που είναι σταθερά σε μία γεωγραφική περιοχή • Τα πακέτα ακολουθούν μια «χαλαρή» διαδρομή κοντά στις anchors. • Κάθε στιγμή το πακέτο στέλνεται προς το επόμενο anchor. • Μόλις ανιχνεύσει ότι είναι εντός της λήψης μιας καινούργιας anchor αφήνει το μονοπάτι που είχε και πηγαίνει προς την καινούργια anchor. • Δύο μέθοδοι για εύρεση της επόμενης anchor.
Geographic routing algorithm • Οι κόμβοι διατηρούν μερικά routing tables • Χρησιμοποιείται ο greedy αλγόριθμος • Αν ένα μήνυμα κολλήσει σε έναν κόμβο • Ξεκινάει διαδικασία αναζήτησης διαδρομής • Όταν βρεθεί η διαδρομή το πακέτο στέλνεται • Όλοι οι ενδιάμεσοι κόμβοι ενημερώνουν τα routing tables. • Για να βρει το μονοπάτι χρησιμοποιεί DFS (depth first search) • Επιστρέφει ένα μονοπάτι χωρίς κύκλους • Αλγόριθμος • Κάθε κόμβος βάζει το ID του στην λίστα του πακέτου και το προωθεί σε γείτονα που δεν είναι στην λίστα ΚΑΙ ελαχιστοποιεί το κόστος. • Αν ο κόμβος δεν μπορεί να προωθήσει άλλο το μήνυμα αφαιρεί το ID του και το γυρίζει πίσω
Depth first search algorithm • Δεν έχουμε routing tables, ακολουθούμε όλο το DFS μονοπάτι. • Για πυκνά γραφήματα έχει παρατηρηθεί ότι τα μονοπάτια είναι ίδια με του greedy αλγορίθμου. • Εισάγουν την έννοια quality of service (QoS) • Connection setup time • Αριθμός των hops και το bandwidth που έχουν οι συνδέσεις • Λύσεις • Ο αλγόριθμος DFS μπορεί απλά να αγνοήσει τις ακμές του γράφου με «κακούς» γείτονες. • Αν το πακέτο περάσει έναν μέγιστο αριθμό από hop counts δεν συνεχίζουμε σε αυτό το μονοπάτι αλλά γυρνάμε πίσω για την ΠΙΘΑΝΗ εύρεση ενός κοντύτερου «κλαδιού»
Nearly stateless Routing with Guaranteed Delivery • Χρησιμοποιείται για σχήματα όπου οι κόμβοι έχουν μόνο μερική, τοπική πληροφορία για να κάνουν το routing.
Face algorithm • Κατασκευάζει έναν επίπεδο συνδεδεμένο γράφοτου unit graph (ονομάζεται Gabriel sub graph). • Εφαρμόζουμε routing στις έδρες του υπογράψου που τέμνουν την γραμμή αποστολέα-παραλήπτη. • Χρησιμοποιεί τον κανόνα του δεξιού χεριού για το routing αυτό.
GFG • Για λόγους απόδοσης χρησιμοποιείται ο face σε συνδυασμό με τον greedy. • Το routing είναι κυρίως greedy αλλά αν κολλήσουμε σε έναν κόμβο, χρησιμοποιούμε τον face routing αλγόριθμο.
Robust GFG • Τα nearly stateless schemes είναι πιθανώς να αποτύχουν αν υπάρχει αστάθεια στην ακτίνα εκπομπής των hosts. • ΠΧ η ακτίνα εκπομπής δεν είναι ακριβώς ένας κυκλικός δίσκος γύρω από τον κόμβο. • Οι Barriere Fraigniaud και Narayanan Opatrny πρότειναν αυτό το μοντέλο για γενίκευση του Unit graph.
Power and cost metric • Power metric • Η ακτίνα επικοινωνίας αυξάνει το κόστος. Άρα ψάχνουμε διαδρομές με μικρές ακτίνες. • Προϋποθέτει ότι οι κόμβοι μπορούν να ρυθμίζουν την ενέργεια εκπομπής. • Cost metric • Στόχος η μεγιστοποίηση των routing λειτουργιών που μπορεί να επιτελέσει το δίκτυο. • Εύρεση path από κόμβους που έχουν αρκετή ενέργεια (ακόμα και αν το path είναι μεγαλύτερο)
Power and cost aware routing • Αν οι κόμβοι μπορούν να τροποποιήσουν την ισχύ εκπομπής, μπορούμε να χρησιμοποιήσουμε αντί για το hop-count το power-metric • Η ισχύς που καταναλώνεται κατά την διάρκεια μιας μετάδοσης εξαρτάται από την απόσταση των δύο κόμβων. • Υποθέτουμε ότι u(d) = ada+c • d = απόσταση • α σταθερά • C σταθερά που αναπαριστά την ενέργεια που χρειάζεται για να εγκαταστήσουμε την επικοινωνία. • To c δεν είναι αμελητέα ποσότητα. Παρόλα αυτά πολλές δημοσιεύσεις υποθέτουν c = 0.
Localized power aware routing algorithm • Αν η απόσταση δύο κόμβων είναι D τότε • Η ενέργεια για απευθείας μετάδοση είναι u(d) = ada+c • Είναι optimal αν • Αλλιώς πρέπει να επιλεχθούν n-1 ενδιάμεσοι κόμβοι για επαναμεταδώσεις.
Localized power aware routing algorithm • Επιλογή γείτονα • Όσο το δυνατό πιο κοντά στον προορισμό • Όσο το δυνατό πιο κοντά στην βέλτιστη απόσταση • Έστω Β ο κόμβος που είμαστε τώρα, Α ο υποψήφιος γείτονας και D ο προορισμός • |BA|=r, |AD|=s. • Ο Β θα επιλέξει έναν γείτονα Α αν ελαχιστοποιείται το p(B,A) = u(r)+v(s) • Ο αλγόριθμος προχωρά μέχρι να βρεθεί ο τελικός κόμβος ή μέχρι κάποιον κόμβο που δεν έχει γείτονα πιο κοντά στον προορισμό.
Pure power consumption metric • Κάποιοι κόμβοι χρησιμοποιούνται στο routing πιο συχνά από άλλους. • Η αυξημένη αυτή κατανάλωση έχει σαν αποτέλεσμα να αποτυγχάνουν μετά από κάποιο χρονικό διάστημα • Ένα μακρύτερο μονοπάτι που περνάει από κόμβους που έχουν μεγάλα αποθέματα ενέργειας μπορεί να είναι πιο επιθυμητός αν • στόχος είναι η μεγιστοποίηση του αριθμού των routing tasks του δικτύου συνολικά • Ορίζουν την ποσότητα f(a) = απροθυμία ενός κόμβου να συμμετάσχει στο routing • F(a) = 1/g(a) ( g(a)=lifetime ανήκει στο [0,1]) • Η απροθυμία αυξάνει απότομα όταν το lifetime πλησιάζει στο 0.
Localized cost efficiency • Αν ο παραλήπτης είναι γείτονας στέλνει αμέσως το πακέτο. • Αλλιώς • Στέλνουμε το πακέτο στον γείτονα A που ελαχιστοποιεί το • C(A) = f(A)/(1+s/R) s = απόσταση προορισμού, R = ακτίνα