2006-2007:Κατανεμημένα Συστήματα ΙΙ:Ασκήσεις:Project:Δρομολόγηση με χρήση εικονικών συντεταγμένων σε δίκτυα αισθητήρων

Από DistrSys

Τα ασύρματα δίκτυα αισθητήρων αποτελούνται, στην πλειοψηφία τους, από κόμβους με λίγες υπολογιστικές δυνατότητες (CPU, μνήμη), γεγονός το οποίο δυσκολεύει την multihop δρομολόγηση στα δίκτυα αυτά. Γενικά, δεν είναι δυνατό να υπάρχουν μεγάλοι πίνακες δρομολόγησης ώστε ο κάθε κόμβος να ξέρει πώς να δρομολόγησει τα πακέτα που στέλνει μέσα στο δίκτυο. Επιπλέον, λόγω και άλλων ειδικών συνθηκών, όπως π.χ., επειδή η τοπολογία του δικτύου αλλάζει συχνά, αν χρησιμοποιήσουμε τα παραδοσιακά πρωτόκολλα δρομολόγησης δεν θα έχουμε ικανοποιητικά αποτελέσματα, χρησιμοποιούνται πρώτοκολλα δρομολόγησης ειδικά σχεδιασμένα για τα δίκτυα αυτά.

Ένα μεγάλο μέρος από τα πρωτόκολλα αυτά χρησιμοποιεί μια greedy λογική, η οποία βασίζεται σε γεωγραφική πληροφορία. Η βασική ιδέα είναι ότι, εφόσον ο κάθε κόμβος ξέρει την τοποθεσία του με τον ένα ή τον άλλο τρόπο (π.χ. GPS, localization), όταν λαμβάνει ή στέλνει πακέτα τα προωθεί σε κάποιον γειτονικό του κόμβο, ο οποίος είναι πιο κοντά από τον ίδιο σε σχέση με τον τελικό παραλήπτη του μηνύματος.

Για να αντιμετωπιστούν κάποιες από τις αδυναμίες των πρωτοκόλλων αυτών, όπως π.χ. ότι όλοι οι κόμβοι δεν έχουν σωστή πληροφορία για την τοποθεσία τους, πρόσφατα πρόταθηκαν πρωτόκολλα δρομολόγησης που χρησιμοποιούν "εικονικές" συντεταγμένες. Στα πρωτόκολλα αυτά, οι κόμβοι του δικτύου με κάποιον επαναληπτικό αλγόριθμο υπολογίζουν συντεταγμένες χρησιμοποιώντας τις σχετικές απόστασεις μεταξύ τους (σε hops) και ίσως κάποια πραγματική γεωγραφική πληροφορία.

Στην εργασία αυτή θα μελετηθούν κάποιοι αλγόριθμοι δρομολόγησης που χρησιμοποιούν εικονικές συντεταγμένες, και θα επιλεγεί ένας αλγόριθμος για να υλοποιηθεί, αυτούσια ή με τροποποιήσεις, σε περιβάλλον nesC και TinyOS.