Aufgabenstellung
Mit Hilfe von drahtlosen Sensornetzen können verschiedenste Sensoren schnell und ohne hohe Anforderungen an eine feste Infrastruktur ausgebracht werden. Neben den klassischen Einsatzszenarien wie dem Katastrophenschutz oder der Umweltüberwachung sind Sensornetze aber auch im industriellen Einsatz oder in der Medizin denkbar. Gerade in diesen Gebieten ist es wichtig, dass die gemessenen Daten zügig und zuverlässig übertragen werden. Energieeffiziente Übertragungsverfahren für Sensornetze, die eine zuverlässige Kommunikation und Garantien für die Einhaltung verschiedener Netzparameter (Latenz, Datendurchsatz, usw.) geben, sind dabei Gegenstand der aktueller Forschung.
Im Rahmen dieser Diplomarbeit soll ein Routingverfahren für drahtlose Sensornetze entwickelt werden, dass energieffizient arbeitet und verschiedene Dienstgüteparameter für Datenströme unterstützt. Hierzu ist ein Szenario anzunehmen, in dem alle Sensorknoten bis auf wenige Ausnahmen ortsfest sind. Zu Beginn der Arbeit ist eine Übersicht über bereits existierende Routingprotokolle für Sensornetze oder laufende Forschungsarbeiten in diesem Gebiet zu geben. Anschließend ist ein neues Routingverfahren zu entwickelen bzw. ein existierendes Verfahren so anzupassen, dass Dienstgüteparameter für verschiedene Datenströme eingehalten werden können. Insbesondere soll dabei untersucht werden, in wie weit mobile Knoten in die Übertragung mit eingebunden werden können. Wo dies möglich ist, sind die Verfahren energiesparend auszulegen. Das Routingprotokoll ist anschließend unter dem Contiki Betriebssystem auf einem Sensorknoten zu implementieren. Schließlich ist die Implementation geeignet zu evaluieren und mit den Ergebnissen anderer Ansätze zu vergleichen.
Meine Interpretation der Aufgabenstellung
Mobile Sensornetzwerke sind heute in immer vielfältigeren Varianten in verschiedenen Bereichen des alltäglichen Lebens denkbar und aktuelles Forschungsthema. Neben den "typischen" Anwendungen wie zum Beispiel der Überwachung der Umwelt ohne feststehende Infrastruktur kann man sie auch zur kurzfristigen und zeitlich begrenzten Überwachung von Industrieanlagen verwenden. Der Aufwand für die Verkabelung in potentiell ungastlichen oder weiter entfernten Gegenden entfällt, es tun sich jedoch neue Problemfelder auf. Besonders in Industrieanlagen werden Anforderungen an die Dienstgüte des Netzes gestellt, wobei hier speziell die Latenz sowie der Datendurchsatz von Interesse sind. Routingverfahren müssen also gewisse Dienstgüteparameter garantieren können, um Daten beispielsweise auch im Fehlerfall der Industrieanlage schnell übertragen zu können.
Im Rahmen dieser Arbeit soll also zunächst ein Überblick über bereits bestehende Verfahren in diesem Gebiet erstellt werden. Wichtig sind dabei die verschiedenen Klassen von Routingverfahren ebenso wie die individuellen Stärken und speziellen Fähigkeiten der bereits existierenden Verfahren. Für ein Szenario einer Menge von hauptsächlich ortsfesten Sensorknoten soll dann entweder ein bestehendes Verfahren entsprechend angepasst oder ein neues Verfahren entwickelt werden, das trotz der Mobilität und begrenzten Energieressourcen eine Route im Rahmen der Dienstgüteparameter findet.
Dieses Protokoll soll mit Hilfe der bereits existierenden Sensorknoten des Typs AVR Raven auf dem embedded Betriebssystem Contiki implementiert und anschließend evaluiert werden. Wichtig dabei ist auch der Vergleich mit bereits bestehenden Ansätzen.
Gliederung
- Application
- Scenario
- Requirements for the Routing Protocol
- Overview
- Route Discovery: Proactive, Reactive and Hybrid
- Network Organisation: Flat and Hierarchical
- Location of the Network Intelligence: Distributed or Centralised
- Quality-of-Service Support
- Support of Node Mobility
- Triggers for Data Transmission
- Radio Coverage
- Energy-Aware Routing Protocols
- Geography-based Routing Protocols
- MAC-Layer Requirements
- Ad-hoc On-demand Distance Vector Protocol (AODV): Features
- AODV: Inner Workings
- AODV: Route Discovery
- AODV: Route Replies from Intermediate Nodes
- AODV: Timeouts and Neighbour Discovery
- AODV: Local Route Repair
- AODV: Sequence Numbers
- AODV: Route Discovery Example
- AODV: Shortcomings
- AODV: Ideas and Improvements
- Support for Quality-of-Service Flows
- IPv6 Support
- Piggybacking Data onto Routing Messages
- Local Route Repair
- Energy Awareness
- Exemplary Route Discovery Cycle with Energy Awareness in Place
- Exemplary Route Discovery Cycle with Energy Awareness and Quality-of-Service Support in Place
- Sink Announcement Messages
- Inner Workings of the Improved AODV
- Route Discovery: Dissemination and Handling of the Route Request Messages
- Route Discovery: Dissemination and Handling of the Route Reply Messages
- Route Breakage: Route Repair Attempts
- Operating System Contiki
- Protothreads
- uIP: Networking Stack
- Cooja: a Cross-level Simulator
- Existing uAODV
- Mac Layers
- Hardware Platform AVR Raven
- Hardware Specifications
- Contiki Port to the AVR Raven
- QoS-AODV6E for Contiki
- Software Structure
- Interface for Application Developers
- Configuration of QoS-AODV6E
- Requirements
- Integration into Contiki
- Code Footprints
- Testing
- Auxiliary Tools
- Metrics
- Measurements
- Characteristics of a Multi-Hop Networks of AVR Raven Nodes
- Impact of Energy-Aware Routing
- Simulations
- Effects of Quality-of-Service support in Routing
- Simulating Energy-Aware Routing
- Future Work
Fortschritt / Zeitplan
# | Abschnitt | Dauer | Termin | Status |
Anmeldung | 01.12.08 | Erledigt | ||
1 | Related Work / Übersicht über bestehende Lösungen | |||
1.1 | Related Work erarbeiten | 18d | 19.12.08 | pünktlich erledigt |
1.2 | Kapitel 'Einleitung' zu Papier bringen | 10d | 29.12.08 | pünktlich erledigt |
2 | Spezifikation des Verfahrens und Protokolls | |||
2.1 | Erarbeiten der Spezifiation | 21d | 19.01.09 | pünktlich erledigt |
Krankheit | 8d | 27.01.09 | ||
2.1 | Kapitel 'Routingalgorithmus' zu Papier bringen | 7d | 03.02.09 | pünktlich erledigt |
Kapitel 1 überarbeiten | 6d | 11.02.09 | 2 Tage verspätet erledigt | |
Folien Zwischenvortrag vorbereiten | 6d | 17.02.09 | pünktlich erledigt | |
3 | Einarbeiten in Contiki, Arbeitsumgebung herstellen | |||
3.1 | Einarbeiten in Contiki, Probieren von einfachen Programmen | 6d | 23.02.09 | pünktlich erledigt |
3.2 | Ausprobieren der Hardware inkl. Contiki | 6d | 01.03.09 | erledigt |
3.3 | Abschnitte 'Hardwareplattform AVR Raven' und 'Betriebssystem Contiki' zu Papier bringen | 7d | 08.03.09 | vorerst übersprungen |
4 | Implementierung des Routingverfahrens | |||
4.1 | Entscheidung: Integration in Contiki oder als seperates Programm? | 1d | 09.03.09 | erledigt |
4.2 | Implementierung | 20d | 29.03.09 | erledigt |
4.3 | Implementierungsbegleitende Tests | 12d | 10.04.09 | erledigt |
4.4 | Ggfs. Überarbeiten des Entwurfs | 6d | 16.04.09 | erledigt |
4.5 | Fehlerbehebung | 6d | 22.04.09 | erledigt |
3.3 | Abschnitte 'Hardwareplattform AVR Raven' und 'Betriebssystem Contiki' zu Papier bringen | 7d | 29.04.09 | erledigt |
4.6 | Kapitel 'Implementierung' vervollständigen | 7d | 06.05.09 | erledigt |
5 | Evaluierung der Implementierung | |||
5.1 | Erarbeiten einer Metrik zur Bewertung von Routingverfahren | 8d | 14.05.09 | erledigt |
5.2 | Evaluieren der Implementierung | 24d | 07.06.09 | erledit |
5.3 | Kapitel 'Evaluierung' zu Papier bringen | 7d | 17.06.09 | erledigt |
6 | Kapitel 'Fazit' zu Papier bringen | 6d | 23.06.09 | erledigt |
7 | Überarbeiten, Fehlerkorrektur, Satz, etc. der Ausarbeitung | 6d | 29.06.09 | in Arbeit |
8 | Drucken, Binden, Brennen, etc. | 1d | 30.06.09 | |
Offizieller Abgabetermin | 30.06.09 |