Drahtlose Sensornetze bestehen aus vielen kleinen, separaten Computern, den so genannten Sensorknoten. Sie sind in der Regel kleiner als eine Zigarettenschachtel und verfügen über weniger Prozessorkapazität als beispielsweise ein aktueller Game Boy. Dafür besitzen sie eine lange Lebensdauer und kommen mit der Leistung von zwei Mignon Batterien häufig bis zu einem Jahr aus. Kommunizieren können diese kleinen Maschinen über eine Funkschnittstelle miteinander. Das alles macht Sensorknoten sehr billig und flexibel in der Anwendung. Durch ihre beschränkten Ressourcen müssen die für sie entwickelten Anwendungen allerdings stark spezialisiert und auf Effizienz optimiert werden. Daher werden Sensornetze meist für eine einziges Szenario entwickelt. Dies geht auf Kosten der Flexibilität und führt zudem zu einer starken Kostensteigerung. Dennoch stellen viele Anwendungsgebiete für Sensornetzwerke einen hohen Anspruch gerade an die Flexibilität. Überwachung ist z.B. eine der Killerapplikationen für Sensornetze (vgl. [36]): Es können die unterschiedlichsten Daten, über lange Zeiträume z.B. in den unzugänglichsten Gebieten, überwacht werden. Während der Laufzeit kann auf neue Entwicklungen reagiert werden oder es können die Überwachungsparameter geändert werden, wenn andere Sensorwerte interessant werden. Dies ist mit Sensornetzen, die für ein Szenario entworfen worden sind, nicht möglich. Eine Lösung für dieses (Flexibilitäts-)Problem sind Mehrzweck-Sensornetze, die auf Kosten von etwas leistungsfähigerer Hardware, die benötigte Flexibilität wieder bereitstellen und durch das Einführen einer zusätzlichen Abstraktionsschicht die Entwicklung von Anwendungen vereinfachen.
Einen Teil dieser Flexibilität stellt das gezielte Ansprechen einer Gruppe von Knoten dar. Dies kann mit Hilfe von Scopes sogar während der Laufzeit erreicht werden. Über frei definierbare Eigenschaften können auf dieseWeise Knoten zu Gruppen (sog. Scopes) zusammengefasst werden. Das Festlegen der Eigenschaften eines Scopes geschieht auf dem sogenannten Wurzelknoten, von dem die Erstellung des Scopes dann auch ausgeht. Die Scopes ermöglichen es auf aktuelle Ereignisse oder geänderte Überwachungsparameter im Sensornetz flexibel zu reagieren.
Da Sensornetze in vielen Fällen an nur schwer zugänglichen Orten angebracht sind, sind die angesprochenen Laufzeiten ein wichtiges Kriterium. Genauso wichtig ist auch das Erweitern oder Umprogrammieren des Sensornetzes im laufenden Betrieb.
Inhaltsverzeichnis
1 Einleitung
1.1 Motivation
1.2 Ziele
1.3 Aufbau der Arbeit
2 Grundlagen und Existierende Ansätze
2.1 Einleitung
2.2 Drahtlose Sensornetze
2.2.1 Hardware der Sensorknoten
2.2.2 Beispiele und Szenarien für drahtlose Sensornetze
2.3 Routingverfahren
2.3.1 Multicast
2.3.2 Directed Diffusion
2.3.2.1 Interests und Gradienten
2.3.2.2 Datenübertragung
2.3.2.3 Reinforcements zum Anlegen und Unterbrechen von Pfaden
2.3.3 Gradient-Based Routing
2.4 Verfahren zur Gruppierung von Sensorknoten
2.4.1 Lokale Cluster
2.4.2 Rollen
2.4.3 Region Streams
2.4.4 Multicast
2.5 Zusammenfassung
3 Architektur für drahtlose Mehrz weck-Sensor netze
3.1 Einführung
3.2 Scopes
3.2.1 Spezifizierung von Scopes
3.2.2 Ausbreitung und Wartung von Scopes
3.2.3 Scopes in Beispielen
3.3 Das SOS Betriebssystem
3.3.1 Module
3.3.2 Scheduling
3.3.3 Speicherverwaltung
3.4 Zusammenfassung
4 Realisierung
4.1 Entwicklungsumgebung
4.2 Basisimplementierung
4.2.1 Aufbau
4.2.2 Probleme
4.3 Erweiterte Implementierung
4.3.1 Aufbau
4.3.1.1 Multihop-Routing
4.3.1.2 Die Scope Module
4.3.2 Verbesserungen
5 Simulation eines Drahtlosen Sensornetzes
5.1 Einführung
5.2 Simulationsumgebung
5.2.1 SOS-native
5.2.2 Avrora
5.3 Simulationen
5.4 Auswertung der gesammelten Daten
5.4.1 Simulation auf Nachrichtenebene
5.4.2 Simulation auf Instruktionsebene
5.4.3 Fazit
6 Zusammenfassung und Ausblick
6.1 Umgesetzte Anforderungen
6.2 Offene Probleme und Verbesserungsmöglichkeiten
A Material auf der CD
A. l Inhalt
A.l.l CD Hauptverzeichnis
A. 1.2 tud/modules
A. 1,3 tud/eontrib
В Einrichten der Arbeitsumgebung
B. l Einführung
B. 2 SOS Betriebssystem
B, 3 CVS-Baum dieser Arbeit
C Moduldiagramme und -variablen
C. l s cope _ test er-Modul
C. 2 scope_ mem&er-Modul
C. 3 scope-Modul
C.4 multihop ^routing-Modul
Literaturverzeichnis
Tabellenverzeichnis
2.1 Die Entwicklung der Mica-Motes
4.1 simple_ scope Naehriehtenheader
4.2 Multihop-Routing Naehriehtenheader
4.3 Seope-Modul Naehriehtenheader
Abbildungsverzeichnis
1.1 Anbringen von Sensorknoten an Mammutbäumen
2.1 Aufbau eines Sensorfelds
2.2 Ein Mica2 Sensorknoten
2.3 Vereinfachtes Schema von Directed Diffusion
3.1 Scope Sehiehtenmodell
3.2 Modell der Zugriffe auf Module in SOS
4.1 Übersieht über Module der erweiterten Variante
4.2 Routingbaumaufbau für einen Request
4.3 Datentransfer durch das Sensornetz
4.4 Löschen eines Seopes/Requests
5.1 Simuliertes Sensorfeld
5.2 Beispiel eines Routingbaums mit zugehörigem Scope
5.3 Anzahl der versendeten Pakete bei untersehiedliehen Größen des Netzwerks
5.4 Simulation von 50 Knoten mit variablem Sendeinterval in scope_ tester
5.5 Simulation von zwei verschachtelten Scopes
5.6 Vergleich versendeter Paekete in Avrora und der SOS-Simulation , , ,
5.7 Benötigte Reehenzeit der Sensorknoten bei untersehiedliehen Größen des Netzwerks
5.8 Benötigte Energie der Sensorknoten bei untersehiedliehen Größen des
Netzwerks
Kapitel 1
Einleitung
1.1 Motivation
Drahtlose Sensornetze bestehen aus vielen kleinen, separaten Computern, den so genannten Sensorknoten, Sie sind in der Regel kleiner als eine Zigarettensehaehtel und verfügen über weniger Prozessorkapazität als beispielsweise ein aktueller Game Boy, Dafür besitzen sie eine lange Lebensdauer und kommen mit der Leistung von zwei Mignon Batterien häufig bis zu einem Jahr aus. Kommunizieren können diese kleinen Maschinen über eine Funksehnittstelle miteinander. Das alles macht Sensorknoten sehr billig und flexibel in der Anwendung, Durch ihre beschränkten Ressourcen müssen die für sie entwickelten Anwendungen allerdings stark spezialisiert und auf Effizienz optimiert werden. Daher werden Sensornetze meist für eine einziges Szenario entwickelt. Dies geht auf Kosten der Flexibilität und führt zudem zu einer starken Kostensteigerung, Dennoch stellen viele Anwendungsgebiete für Sensornetzwerke einen hohen Anspruch gerade an die Flexibilität, Überwachung ist z.B, eine der Killerapplikationen für Sensornetze (vgl, [36]): Es können die untersehiedliehsten Daten, über lange Zeiträume z.B, in den unzugänglichsten Gebieten, überwacht werden. Während der Laufzeit kann auf neue Entwicklungen reagiert werden oder es können die Überwaehungsparameter geändert werden, wenn andere Sensorwerte interessant werden. Dies ist mit Sensornetzen, die für ein Szenario entworfen worden sind, nicht möglich. Eine Lösung für dieses (Flexibilitäts-)Problem sind Mehrzweek-Sensornetze, die auf Kosten von etwas leistungsfähigerer Hardware, die benötigte Flexibilität wieder bereitstellen und durch das Einführen einer zusätzlichen Abstraktionssehieht die Entwicklung von Anwendungen vereinfachen.
Einen Teil dieser Flexibilität stellt das gezielte Anspreehen einer Gruppe von Knoten dar. Dies kann mit Hilfe von Scopes sogar während der Laufzeit erreicht werden. Über frei definierbare Eigenschaften können auf diese Weise Knoten zu Gruppen (sog. Scopes) zusammengefasst werden. Das Festlegen der Eigenschaften eines Scopes geschieht auf dem sogenannten Wurzelknoten, von dem die Erstellung des Scopes dann auch ausgeht. Die Scopes ermöglichen es auf aktuelle Ereignisse oder geänderte Überwachungspara-
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1,1: Anbringen von Sensorknoten an Mammutbäumen in den USA 1111
meter im Sensornetz flexibel zu reagieren.
Da Sensornetze in vielen Fällen (wie in Abbildung 1,1 z.B, an Mamutbäumen) an nur schwer zugänglichen Orten angebracht sind, sind die angesprochenen Laufzeiten ein wichtiges Kriterium, da nicht alle paar Tage jemand auf Bäume klettern kann, um Batterien zu wechseln. Genauso wichtig ist auch das Erweitern oder Umprogrammieren des Sensornetzes im laufenden Betrieb,
1.2 Ziele
Das Ziel dieser Arbeit ist die Demonstration der Realisierbarkeit und Einsetzbarkeit von Scopes, Probleme bei der Durchführung sollen identifiziert und die Möglichkeiten aktueller Hardware berücksichtigt werden.
Für die Demonstration wird, neben den Scopes, ein entsprechendes Routing benötigt. Dieses soll den Nachrichten Transport an die Scopes und aus den Scopes heraus an den Wurzelknoten ermöglichen.
1.3 Aufbau der Arbeit
In Kapitel 2 werden die Grundlagen dieser Arbeit erörtert. Zuerst soll dargestellt werden, was man allgemein unter einem drahtlosen Sensornetzwerk versteht und wie sieh ein Sensorknoten zusammensetzt. Anschließend werden einige Einsatzszenarien vorgestellt. Danach folgen die verwendeten Algorithmen und Mechanismen, Von grundlegendem wie Multicast zu Directed Diffusion und Gradient-based-routing, sowie eine Übersieht über verwandte Ansätze zu Scopes,
In Kapitel 3 wird die Architektur der Scopes von theoretischer Seite her beleuchtet und das SOS Betriebssystem für die Sensorknoten besprochen.
In Kapitel 4 kommen zwei Implementierungen der Scopes in Sensornetzwerken im Detail zur Sprache, In einem ersten Schritt wird eine Basisvariante vorgestellt, die zum Transport der Daten nur Flooding verwendet, und in einem zweiten Schritt wird die erweiterte Version vorgestellt, deren Seope-Implementierung modularisiert ist und um ein verbessertes Routing ergänzt wurde, Kapitel 5 widmet sieh schließlich den durehge- führten Simulationen der erweiterten Seope-Implementierung,
Das Abschlusskapitel, Kapitel 6, fasst noch einmal alle Ergebnisse zusammen und gibt zudem einen Ausblick auf zukünftige Möglichkeiten von Scopes in Sensornetzwerken,
Kapitel 2
Grundlagen und Existierende Ansätze
2.1 Einleitung
Was ist ein Sensornetzwerk? Was ein Sensorknoten? Und wie werden sie eingesetzt,,,,? Das sind alles Fragen, die zu klären sind, bevor sieh Details dieser Arbeit gewidmet werden kann. Daher werden in diesem Kapitel alle Grundlagen und Verfahren vorgestellt, die für das Verständnis dieser Arbeit wichtig sind.
Nach einem Überblick über Sensornetze nach [29], wie sie aufgebaut sind (nach [11] und [34] Kapitel 4) und ihre Einsatzmögliehkeiten, werden in Abschnitt 2,3 die grundlegenden Verfahren für das in dieser Arbeit entwickelte Routing erläutert. Es folgt in Abschnitt 2,4 eine kurze Übersieht über bestehende Verfahren zum Gruppieren von Sensorknoten,
2.2 Drahtlose Sensornetze
Erste Ansätze für Sensornetzwerke finden sieh schon zur Zeit des Kalten Krieges, Damals entstand ein System zum aufspüren von U-Booten, das vom US-Militär entwickelt wurde (u, a, das Sound Surveillance System, SOSUS) [19]), Um 1980 wurde das Thema von der Defense Adanced Research Projects Agency (DARPA) in dem Programm Distributed Sensor Networks (DSN) wieder aufgenommen. In seiner momentanen Ausprägung wurden die Sensornetze von Mitarbeitern der Universität von Kalifornien in Berkeley (UCB) publik gemacht. Dort entwickelte Sensorkonten werden später in dieser Arbeit (siehe Abschnitt 2,2,1) im Detail vorgestellt.
Die Weiterentwicklung der Mikroelektronik in den Bereichen Chipdesign und Miniaturisierung, in den letzten Jahren, hat es ermöglicht die grundlegenden Bestandteile eines Computers auf die Größe eines Zigarettenpäekehens oder einer Streiehholzsehaehtel
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2,1: Aufbau eines Sensorfelds
zu komprimieren. Diese „Kleinsteomputer“ bestehen aus einem Prozessor, Sehaltungen zur Kommunikation mit ihrer Umgebung, Sensoren und einer unabhängigen Stromversorgung, Solche Sensorknoten können in drahtlosen Sensornetzen (Wireless sensor networks, WSX) zu hunderten auf großer Fläche verteilt werden, um diese zu überwachen, Dies geschieht ohne andere Prozesse zu beeinflussen. In einem Verband von nur wenigen Knoten können auf diese Weise unbemerkt Grundstücke o.ä. Überwacht und das Betreten von Unbefugten sofort gemeldet werden.
Ein Sensornetz besteht nach [3] aus dem Sensorfeld (Abbildung 2,1), das überwacht wird und in dem die Sensorknoten platziert werden, und einer Verbindung nach außen. Jeder Sensorknoten kann seine gesammelten Daten zurück an die Senke[1] schicken. Die Daten werden meist über eine infrastrukturlose, multihop Architektur geroutet. Die Verbindung nach außen kann eine kontinuierliehe Verbindung z,B, mit dem Internet sein oder ein Mitarbeiter ruft Daten in bestimmten Intervallen vor Ort ab. In diesem Fall muss die Senke oder das Sensornetz die Daten entsprechend Zwischenspeichern, Erfassen, verarbeiten und weiterleiten von Sensordaten sind grundlegende Funktionen eines Sensorknotens, Das Sensornetz ist, wegen der Interaktion der vielen einzelnen
2.2. DRAHTLOSE SENSORNETZE
Sensorknoten und ihrem dynamischen Verhalten aufgrund von Umwelteinflüssen oder anderen Problemen, um einiges komplexer. Meist kann eine Eigenschaft eines Phänomens nur durch die Kooperation vieler Sensorknoten überwacht werden. Bewegt sieh zum Beispiel ein Fahrzeug durch ein überwachtes Gebiet, kann im Zusammenspiel mehrerer Sensorknoten die Richtung und Geschwindigkeit des Fahrzeugs erfasst werden.
Das Design eines Sensornetzes wird, nach [3], durch viele Faktoren beeinflusst. Sensorknoten können aufgrund von zu geringer Energie, Umwelteinflüssen oder Beschädigungen ausfallen. Ebenso besteht die Möglichkeit, dass neue Knoten hinzukommen oder aktive Knoten bewegt werden. Auf diese Weise können zum Beispiel auch ausgefallenen Knoten ersetzt werden. Dieses dynamische Verhalten der Knoten sollte der Funktion des Sensornetzes nicht schaden: Fehlertoleranz ist für ein robustes Netz unerlässlich. In vielen Szenarien werden mehrere hundert oder tausend Knoten eingesetzt, um die gestellten Aufgaben bewältigen zu können. Die verwendeten Algorithmen müssen also zum einen mit der schieren Menge der Knoten zureehtkommen und zum anderen müssen sie bei den unterschiedlichsten Dichten und Platzierungen ein effizientes Netz bilden können. Je nach Größe des Gebiets und Menge der Knoten sind die Kosten für ein solches Netz ein zusätzlich zu berücksichtigender Faktor. In einem solchen MultihopSensornetzwerk sind die einzelnen Knoten durch ein drahtloses Medium verbunden. In den meisten Fällen werden Funkverbindungen verwendet, aber es finden auch alternative Verbindungsarten per Infrarot oder Laser2 3 Verwendung (vergleiche [11]). Da die Knoten in der Regel von begrenzten Energiequellen, wie Batterien o. ä,, abhängig sind, muss dieser Faktor besondere Berücksichtigung finden. So muss sowohl die Hardware (Sensoren, Prozessoren, Sender/Empfänger), wie auch die Software (Betriebssystem, Protokolle) möglichst Energieeffizient arbeiten.
Die in Sensornetzen verarbeiteten Daten beruhen auf physikalischen Ereignissen und so ist die Signalverarbeitung ein wichtiger Teil, der zur Verringerung des Datenvolumens beiträgt. Statt die Sensorrohdaten über das Netz zu verschicken, werden die Daten vorverarbeitet und die für die jeweilige Anwendung interessanten Werte herausgefiltert. Daten von verschiedenen Quellen, die sieh im Laufe des Transfers auf einem Knoten treffen, können bei starker Ähnlichkeit zusammengefasst oder gesammelt werden, bevor sie weiter gesendet werden. So wird aus einer großen Menge von Rohdaten mit relativ wenig Informationsgehalt eine kleine Menge Daten mit sehr hohem Informationsgehalt generiert. Entsprechend dieser Datenkompression, sollte die Informationsverarbeitung idealerweise direkt im Sensornetz geschehen. Diese Kompressionsverfahren sind oft auf die spezielle Anwendung zugesehnitten.
In traditionellen verteilten Systemen werden die einzelnen Knoten mit einem Namen oder einer festen Adresse angesproehen. In Sensornetzwerken hingegen ist die Adressierung des einzelnen Knotens nicht entscheidend. Es besteht die Möglichkeit den einzelnen Sensorknoten keine direkte Identifizierung zuzuordnen, wie etwa eine Adresse; Solche[2] [3]
nicht benannten Knoten werden über ihre physikalische Position oder den Typ und den Inhalt ihrer Daten identifiziert. Ausgefallene Knoten können so durch einen anderen Knoten in unmittelbarer Nähe mit ähnlichen Sensoren problemlos ersetzt werden.
Ein weiterer Unterschied zu bekannten verteilten Systemen betreffen die Eigenschaften der ausgetauschten Daten, Da diese von umliegenden Knoten sehr ähnlich sind, können sie für Kompression (Eliminierung von Redundanz), Robustheit (benachbarte Knoten müssen ähnliche Daten liefern) und Sicherheitsmechanismen (Erkennung von eingeschleusten Missinformationen) genutzt werden. Das Verlieren von Paketen kann in den meisten Fällen toleriert werden und durch eine spätere Sensorabfrage kompensiert werden. So sind klassische Kommunikationsprotokolle wie TCP/IP mit Ende-zu-Ende- Garantien beim Datentransfer oft nicht nötig oder wegen des erhöhten Nachrichtenaufkommens sogar unerwünscht und ungeeignet.
Um ein Sensornetzwerk betreiben zu können, sind mehrere Softwarekomponenten erforderlich: Ein Betriebssystem, Routingprotokolle, Treiber für Sensoren und die eigentliche Anwendung, Es gibt mehrere Betriebssysteme für Sensorknoten, Das bekannteste und weitverbreiteste ist TinvOS[4], SOS[5] ist eine Neuentwicklung des Networked and Embedded Systems Lab (NSCL) an der UCLA, Betriebssysteme für Sensorknoten unterscheiden sich eindeutig von gängigen Betriebssystemen, Sie müssen mit den eingeschränkten Ressourcen auskommen und die speziellen Anforderungen der Sensornetze erfüllen. Neben einer einheitlichen API stehen bei SOS noch grundlegende Mechanissmen zur dynamischen Neuprogrammierung von ausgesetzten Knoten und zur gleichzeitigen Nutzung des Sensornetzes von mehreren Anwendungen im Vordergrund,
2.2.1 Hardware der Sensorknoten
Inzwischen gibt es mehrere Sensorknotendesigns, Zum Beispiel die Mica Motes[6] der UCB, XYZ[7] der Universität Yale oder Tmote von Moteiv[8], Die Motes der UCB sind die bekanntesten und bilden die Basis für kommerzielle Produkte von Xbow[9] und Intel[10], Der, für diese Diplomarbeit, angefertigte Sourcecode ist für Miea2 Motes entwickelt worden; Daher wird die Miea2 Plattform als typisches Beispiel für einen Sensorknoten im Folgenden vorgestellt.
Ein Miea2 Sensorknoten (siehe Abbildung 2,2) setzt sich, wie die meisten Sensorkno-
Abbildung in dieser Leseprobe nicht enthalten
ten, aus verschiedenen Modulen zusammen. Das Basismodul mit Rechen- und Kommunikationseinheit beherbergt also Mikrocontroller, Funkkomponenten, LEDs und einen Erweiterungssteckverbinder für Sensor module oder ähnliches.
In der Mica-Serie wird nach dem Datenblatt |9| als Prozessor der Atmel At mega 128 Mikrocontroller verwendet. Er leistet 8 MIPS und ist mit 128 kB Programmspeicher und 4 kB RAM ausgestattet. Zusätzlich bietet ein Micaknoten 512 kB nicht flüchtigen Speicher, Mit dieser Leistung ist an größere Berechnungen, wie sie etwa für im PC-Bereich gängige Algorithmen der starken Kryptografie benötigt würden, nicht zu denken. Dementsprechend ist auch der Energieverbrauch recht niedrig. Bei Volllast von Prozessor (ea, 8 mAh) und Dauernutzung der Funkkomponenten (ea, 8-30 mAh) halten die zwei Standard Mignonzellen (je ea, 1-2,5 Ah, vgl. |5|), die direkt am Basismodul angebracht sind, mindestens 52h, Da ein Sensorknoten, abhängig von der jeweiligen Anwendung, den größten Teil seiner Zeit im Sleep-Modus verbringt und mit energieeffizienten Schaltungen darauf lauseht, ob ein Paket für ihn ankommt, liegt der Energieverbrauch dann im μΑ Bereich, Damit wird eine Lebensdauer von bis zu einem Jahr möglich. Mit dem 51-Pin Erweiterungssteckverbinder lässt sich eine große Anzahl von externen Modulen anschließen, die über analoge Eingänge, digitale E/A, I2C, SPI und UART mit dem Mica Basismodul kommunizieren können. Die Reichweite der Funkkomponenten ist begrenzt. Von wenigen Metern in Gebäuden, bis zu 30m im Freien, es ist alles eine Frage der Energie und der Umgebungsbedingungen, Die einzigen für den Menschen sichtbaren Signale von einem Mica Basismodul sind seine drei LEDs, |9| Sensormodule, die an die Sensorknoten angeschlossen werden können, gibt es in einer großen Vielfalt: Die Spanne reicht von einfachen Sensoren, die die Luftfeuchtigkeit oder die Lichtintensität messen, bis hin zu GPS-Empfängern oder RFID Lesegeräten,
Neben den Mica Sensorknoten gibt es auch neuere Entwicklungen, wie den Tolos Sen- sorknoten oder Smart Dust[11], Beide wurden an der UC Berkeley entwickelt, Telos ist der Nachfolger der Mica-Serie mit neuem Mikroeontroller und verbessertem Funkmodul, Smart Dust ist ein sehr kleiner Sensorknoten, er ist kleiner als ein Fingernagel und besitzt kein Funkmodul, da dieses zu groß wäre und kommuniziert so mit einem Laser basierten System,
Tabelle 2,1 gibt nochmal einen Überblick über die Miea-Serie und ihre Entwicklung über die letzten Jahre,
2.2.2 Beispiele und Szenarien für drahtlose Sensornetze
Die eben vorgestellten Sensorknoten sind nicht auf reine Laborumgebungen beschränkt, sondern werden produktiv in vielen Projekten rund um die Welt eingesetzt. In den meisten Szenarien geht es um das, was ein Sensornetzwerk besonders gut kann: Werte messen, verarbeiten und zugänglich machen. Zum Beispiel gibt es in den USA Netze, die eine Produktionshalle samt aller Maschinen bei Intel[12] oder die Umweltbedingungen in einem Wald aus Mamutbäumen (vgl, [11]) überwachen. Hierzulande sind genauso Anwendungen für Sensornetzwerke vorhanden, wie etwa das überwachen einer Kuhherde (vgl, [11]) oder das Messen der Umweltbedingungen in einem Gewächshaus [30], Ein weiteres Szenario für Sensornetze ist das sogenannte Containerhafen-Szenario [11], In ihm werden die Vorteile von Sensornetzwerken für große Verteilzentren, wie etwa Hochseehäfen, aufgezeigt.
Auf die Möglichkeiten von Scopes in den folgenden Szenarien wird dann in Abschnitt
3.2.3 noch einmal genauer eingegangen.
Der Einsatz eines Sensornetzwerks in einem Gewächshaus, läuft seit Ende 2004 in einer Anlage in der Nähe von Duisburg, Durehgeführt wird dieses Projekt vom Fraunhoferinstitut- IMS[13] und der GREATech GmbH[14] in Zusammenarbeit mit der Landwirtschaftskammer.
Was und wie viel eine Pflanze braucht um schnellst- oder bestmöglich zu wachsen ist schon lange bekannt. Die Umgebung den entsprechenden Pflanzen anzupassen aber ist schon etwas komplizierter. Man benötigt dazu nicht nur die Geräte, mit denen sieh Temperatur, Liehteinfall oder Luftfeuchte in einem Gewächshaus regeln lassen, sondern auch geeignete Messinstrumente, um den Istzustand zu erfassen. Bisher war es nur möglich punktuell Werte in einem Gewächshaus zu messen. Mit dem installierten Sensornetzwerk lassen sieh diese Werte jetzt nicht nur fläehendeekend, sondern auch an den Pflanzen direkt messen. Damit kann eine optimale Versorgung der Pflanzen gewährleistet und so der Ertrag an Pflanzen erhöht werden. Zudem kann der Energieverbrauch für die Gewächshäuser reduziert werden, da zum Beispiel nur soviel geheizt werden muss, wie es von den Pflanzen benötigt wird. Bei einem Anteil von 90 Prozent
Abbildung in dieser Leseprobe nicht enthalten
Abbildung in dieser Leseprobe nicht enthalten
(vgl. [30]) des Energieverbrauchs einer Gärtnerei kann hier eine deutliche Einsparung erreicht werden. Zudem ist geplant, dass das Sensornetz in Zukunft die Regelung im Gewächshaus vornimmt.
Mit Scopes können die Sensorknoten, die für die gleiche Pflanzenart zuständig sind, in einer Gruppe (dem Scope) zusammengefasst werden und so die für diese Art spezifischen Eekdaten erfassen und eventuelle Grenzwerte überwachen. Ist das Sensornetzwerk in der Lage die Regelung im Gewächshaus vorzunehmen, so kann es direkt auf Veränderungen reagieren, in dem bei erhöhter Sonneneinstrahlung zum Beispiel für mehr Kühlung gesorgt wird.
Im Containerhafen-Szenario werden die Container eines großen Frachters vernetzt. Diese Schiffe beherbergen heutzutage einige tausend Container. An jedem dieser Container wird ein Sensorknoten angebracht, genauso an jeder Palette, die innerhalb eines Containers untergebraeht ist. Dabei bilden alle Knoten innerhalb eines Containers ein Sensornetzwerk und alle Knoten, die an einem Container angebracht sind bilden ebenso ein Sensornetz. Das Sensornetzwerk innerhalb der Container kann dann zum Beispiel die per RFID ermittelte Ladung an das Container-Sensornetz melden oder andere Werte, wie etwa Temperatur, Luftfeuchtigkeit oder ob der Container während des Transports geöffnet wurde, weiterleiten.
Im Hafen kann so vom Zoll über einen dieser Containerknoten das gesamte Netz an- gesproehen werden und Anfragen an sämtliche Knoten auf dem Schiff gestellt werden. Nach einer Anfrage bauen die Sensorknoten von einem Knoten zum nächsten usw. einen Routingbaum auf und beantworten die Anfrage. Über eine Anwendung wie TinvDB[15] der UC Berkeley können die Daten der einzelnen Knoten im Containernetzwerk wie in einer Datenbank erfasst und abgerufen werden. Darüber können dann Ladelisten, Herkunfts- und Zielorte bestimmt oder der Zeitpunkt der letzten Öffnung der Container abgefragt werden.
Scopes können hier den einzelnen Speditionen schnell und einfach einen Überblick über die eigenen Container geben. So könnte ein Scope alle Container einer Spedition zusammenfassen. Dabei ist durch den Scope gewährleistet, dass nur die eigenen Container antworten. Damit diese Gruppierung nicht von Konkurenten mißbraucht werden kann, muss natürlich eine sichere Verbindung und eine sicherer Verwaltung der Scopes gewährleistet sein.
2.3 Routingverfahren
Damit eine effiziente und zuverlässige Kommunikation zwischen den einzelnen Knoten gewährleistet ist werden spezialisierte Routingverfahren verwendet. Die Kommunikation zwischen einzelnen Knoten und einer Gruppe von Knoten, wird allgemein unter dem Begriff Multicast zusammengefasst. In Anschnitt 2.3.1 wird Multicast im Kontext von drahtlosen Sensornetzen nach [7] vorgestellt.
Wie man [2] entnehmen kann, existieren viele Routingverfahren für drahtlose Sensornetzwerke, Eines dieser Verfahren ist das in Abschnitt 2,3,2 vorgestellte Directed Diffusion. Es unterstützt das gruppierte Anspreehen von Knoten und ist so für den Einsatz mit Scopes sehr gut geeignet. Allerdings unterstützt Directed Diffusion nur die Kommunikation aus der Gruppe zum Wurzelknoten und ein recht komplexes Verfahren zum Verstärken von Verbindungen wird genutzt. Um die, für den Einsatz von Directed Diffusion mit Scopes, benötigten Änderungen und Erweiterungen zu vereinfachen, wurde auf ein leicht abgewandeltes Directed Diffusion zurüekgegriffen. Es nennt sieh Gradient-based Routing und wurde in [37] beschrieben (eine kurze Zusammenfassung ist in Abschnitt 2,3,3 vorhanden).
2.3.1 Multicast
„Multicasting is the transmission of datagrams to a group of hosts identified by a single destination address and hence is intended for group-oriented computing“ [7]
Für konventionelle drahtbasierte Netzwerke gibt es eine Reihe etablierter Routingprotokolle, die ein robustes und effizientes Multicast ermöglichen. Der größte Teil der drahtlosen Anwendungen sind in Gebieten angesiedelt, für die ein schnelles und dynamisches Rekonfigurieren nötig ist und eine verdrahtete Infrastruktur nicht zur Verfügung steht. Zum Beispiel in Katastrophen-, Bergungsgebieten oder auch Konferenzen,
Das Übertragen von herkömmlichen Multieastprotokollen auf eine drahtlose Umgebung scheint wenig erfolgversprechend, da diese Protokolle mit der Beweglichkeit der Knoten und den daraus resultierenden häufigen Topologieweehseln nur schwer klar kommen. Zusätzlich würde die Mobilität der einzelnen Knoten den Verwaltungsaufwand drastisch erhöhen.
Die meisten mobilen Geräte werden mit Batterien betrieben und so müssen Routingprotokolle die Menge an Kontrollinformationen möglichst klein halten. Im drahtlosen Medium ist es existenziell, überflüssiges Versenden von Nachrichten oder allgemeiner den Energiebedarf, möglichst weit zu senken. Multicast kann die Effizienz einer Funkverbindung verbessern. Wenn mehrere Kopien einer Nachricht versendet werden oder mehrere Nachbarn in Reichweite Daten erhalten sollen, indem die grundlegende Broadeast- Eigensehaft des Mediums ausgenutzt wird.
Die größten Herausforderungen von drahtlosem mobilem Multicast nach [18] sind die Verwaltung der Routingstrukturen und die Zuverlässigkeit, Die Verwaltung ist nicht nur wegen der dynamischen Gruppenzugehörigkeit, sondern auch wegen der Mobilität der Knoten eine der größten Probleme, Beim Bewegen der Knoten können Loops bei der Rekonfiguration der Routingstrukturen entstehen oder Pakete verloren gehen bzw. Mehrfach empfangen werden. Daher ist das finden und aufreehterhalten einer optimalen Routingstruktur eine schwierige Sache und das Rekonfigurationssehema sollte möglichst einfach gehalten werden, um den Overhead zu verringern.
Eine Variante Multicast in Funknetzen zu ermöglichen, ist Flooding. Dabei werden sämtliche Pakete durch das gesamte Netzwerk gesendet. Jeder Knoten, der ein Paket empfängt sendet es per Broadcast einmal an seine umliegenden Nachbarn, In hoch mobilen Netzen ist Flooding ein gangbarer Weg für zuverlässiges Multicast, Der Nachteil an Flooding, ist der hohe Overhead: eine hohe Zahl an Paketduplikaten und -kollisionen. Basierend auf der Art der Eoutingstrukturen werden Multicastprotokolle in vier Kategorien eingeteilt:
Baum-basiertes Routing dies ist ein stark verbreitetes und etabliertes Konzept, Die meisten Multicastprotokolle in herkömmlichen Netzwerken basieren auf diesem Ansatz, Für drahtlose Netze beinhalten die Meisten Protokolle spezielle Verfahren zum auffinden ausgefallener Knoten oder zur Bestimmung der eigenen Position und der, der Naehbarknoten,
Mesh-basiertes Routing Im Unterschied zu den Baum-basiertem Multicast, kann es bei Mesh-basiertem mehrere Pfade zwischen einem Quelle/Senke-Paar geben, Baum-basierte Ansätze sind nur schlecht gerüstet für häufige Topologiewechsel, im Gegensatz dazu ist es bei Mesh-basierten Protokollen wahrscheinlich, dass eine unterbrochene Verbindung nicht gleich zu einer Rekonfigurierung führt. Meshes übertreffen Baum-basierte Ansätze, wegen der vorhandenen alternativen Pfade, Diese erlauben das Zustellen eines Datagramme selbst bei Ausfall einer Verbindung,
Stateless-Multicast Baum- und Mesh-basiertes Multicast erzeugt Overhead für die Verwaltung der Baum- oder Mesh-Strukturen, Sieh bewegende Knoten erhöhen diesen Overhead zusätzlich. Um solche Effekte zu minimieren werden bei Stateless Multicast explizit Zieladressen im Paketheader angegeben. Das zielt auf so genanntes smallgroup Multicast ab und setzt voraus, dass das benutzte Routingprotokoll die Daten entsprechend der Headerinformationen zustellt,
Hybride Ansätze Baum-basierte Ansätze haben eine hohe Effektivität beim Weiterleiten von Daten, aber sind wenig Robust, Mesh-basiertes Multicast ist robuster, hat aber einen höheren Overhead beim Weiterleiten und eine höhere Netzwerklast, Hybride Ansätze versuchen die Vorzüge von Baum- und Mesh-basiertem Multicast zu vereinen.
2.3.2 Directed Diffusion
In einem Sensornetzwerk mit vielen zufällig verteilten Knoten ist es nicht praktikabel jeden Konten einzeln direkt anzuspreehen. So ist es schwierig mit einer bestimmte Region des Netzwerks zu kommunizieren. Eine einfache Variante wäre das Versenden der
Listing 2,1: Beispiel für Attribut/Werte-Paare in Directed Diffusion
Daten über den Flooding-Algorithmus, Dies führt zu einem großen Overhead an Nachrichten im Netzwerk, Um das Routing effizienter zu gestalten und den Energieverbrauch zu reduzieren wurden Algorithmen entwickelt, die eine Gruppe von Sensorknoten an- spreehen und die Daten auf ihrem Weg durch das Sensornetz aggregieren können.
In einem datenzentrierten Routingalgorithmus wie Directed Diffusion [15, 23, 24] sendet die Senke Anfragen an das Sensornetz und wählt so Sensorknoten des Netzwerks aus. Nachdem die Sensoren der entsprechenden Knoten ihre Werte ermittelt haben werden diese an die Senke zurück gesendet.
Directed Diffusion besteht aus mehreren Elementen, wie: Interests, Daten, Gradienten und Reinforcements, Ein Interest ist eine Anfrage für Daten, die vom Benutzer benötigt werden. Er besteht in Directed Diffusion aus Attribut/Werte-Paaren (für ein Beispiel siehe Listing 2,1), die die benötigten Daten beschreiben. Es können aber auch andere Bezeiehnungssehemata verwendet werden, wie zum Beispiel intentional names (vergleiche [1]), Die Beschreibung der Daten kann eine Ortsbestimmung, Frequenz, Zeitspanne oder anderes enthalten, Daten in einem Sensornetzwerk sind typischerweise gesammelte und verarbeitete Informationen über ein physisches Phänomen, Eine kurze Beschreibung eines Phänomens wird Event genannt. In Directed Diffusion werden benannte Daten angefragt, das wird durch das oben beschriebene Benennungssehema erreicht. Eine Anfrage für Sensordaten wird also per Interest durch das Netzwerk verschickt. Während des Transfers des Interests werden im Sensornetzwerk Gradienten angelegt, die die erfassten Events zurück an den Ursprung des Interests und damit den anfragenden Knoten leiten. Die Richtung der Gradienten wird auf den Knoten von dem der Interest empfangen wurde gelegt. Damit können die Events zum Initiator des Interest über mehrere Gradient-Pfade zurück fließen. Im Sensornetzwerk werden dann ein oder mehrere dieser Pfade per Reinforcements verstärkt, je nach Qualität und Geschwindigkeit der Verbindung, Dieser Ablauf wird für eine bestimmte Anfrage unter dem Begriff Task zusammengefasst.
Im Folgenden wird Directed Diffusion noch etwas detaillierter nach [24] beschrieben, da dieser Algorithmus die Basis des im Folgenden verwendeten Multihop-Routing bildet.
2.3.2.1 Interests und Gradienten
Interests können an einem beliebigen Punkt des Sensornetzwerks eingebraeht werden. Der Knoten, der die Interests in das Netz aussendet wird Senke genannt, Knoten, die
die Angefragten Informationen liefern können, werden Quelle genannt.
Wie werden Interests durch das Sensornetzwerk verbreitet: Für jeden aktiven Task broadeastet die Senke periodisch einen Interest an jeden Nachbarn, Durch den ersten Interest werden die Knoten veranlasst zu prüfen, ob sie einen gesuchten Event erfassen (siehe Abbildung 2,3a); Dafür wird anfangs nur eine geringe Datenrate in dem Interest angegeben. Die Interests werden periodisch von der Senke mit einem aktualisierten Zeitstempel erneuert. Dies ist nötig, da Interests nicht zuverlässig durch das Sensornetzwerk transportiert werden. Die Erneuerungsrate ist ein Designparameter des Protokolls und spiegelt den Kompromiss zwischen Overhead an neu gesendeten Interests, um die Robustheit zu erhöhen, und dem Verlust von Nachrichten wieder.
Jeder Knoten verwaltet seinen eigenen Interesteaehe, Jeder Eintrag entspricht einem, aufgrund seiner Attribute, eindeutigen Interest, Angesichts dessen kann man also auch Interests aggregieren, wenn die Attribute übereinstimmen. Zum Beispiel, wenn die gleichen Daten in einer Unterregion eines bestehenden Interests Angefragt werden (alles was noch anzupassen ist, ist die Datenrate), Die Caeheeinträge enthalten keine Informationen über den Pfad zur Senke oder die Senke an sieh, sondern nur über die direkt vorhergehende Etappe, So hat jeder Eintrag mehrerer Gradienten-Felder und eine Laufzeit aus der die ungefähre Lebensdauer des Interests berechnet wird. Verstreicht die Lebensdauer eines Gradienten wird er gelöscht. Bei mehreren Quellen wird der Eintrag erst nach Ablauf der Lebensdauer aller Gradienten gelöscht.
Wenn ein Knoten einen Interest empfängt wird zuerst geprüft, ob bereits ein Caeheein- trag existiert, Falls nicht wird ein neuer Eintrag angelegt, die Informationen aus dem Interest werden in ihm gespeichert und die zugehörigen Gradienten erzeugt, Nachbarn müssen also eindeutig identifizierbar sein, um Gradienten für sie anlegen zu können. Die Identifizierung kann zum Beispiel per 802,11 MAC Adressen [22] oder Bluetooth Cluster Adressen [40] erfolgen. Existiert ein Caeheeintrag wird der zugehörige Gradient erzeugt oder aktualisiert. Zuletzt wird der Zeitstempel des Eintrags erneuert. Nach dem Bearbeiten des Interests kann er an eine Untermenge der Nachbarn des Sensorknotens weiterversendet werden. Das Weiterversenden kann unterdrückt werden, wenn ein passender Interest erst vor kurzem weitergeleitet worden ist. Das Weiterleiten von Interests kann per Broadcast, senden zu einem speziellen Nachbarn, geographischem Routing oder anderen Verfahren erfolgen.
Beim Anlegen der Gradienten wird von jedem Naehbarpärehen ein Gradient zum jeweils anderen angelegt (siehe Abbildung 2,3b), Wenn ein Knoten einen Interest empfangen hat kann er nicht erkennen, ob er eine Antwort auf einen vorhergehenden Interest empfangen hat, oder aber von einer Senke auf der anderen Seite dieses Nachbarn stammt. Im ungünstigsten Fall erhält der Knoten von jedem seiner Nachbarn die gleichen Eventdaten, Dies kann zu einer schnelleren Wiederherstellung von zusammengebroehenen Pfaden genutzt werden.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2,3: Vereinfachtes Schema von Directed Diffusion: (a) Interest Verbreitung, (b) Erzeugen der Gradienten, (e) Datentransfer über verstärkten Pfad
2.3.2.2 Datenübertragung
Nach der oben beschriebenen Bearbeitung der Empfangenen Interests fragt der Sensorknoten die entsprechenden Sensoren ab und beginnt mit der Auswertung der Daten, Wenn etwas entdeckt wurde, wird zuerst ein passender Interesteintrag gesucht. Wenn ein Eintrag existiert wird der Sensor mit der angegebenen Datenrate abgefragt und die Daten an die Senke über den entsprechenden Gradienten zurück geschickt (siehe Abbildung 2.3c).
Nachdem ein Knoten ein Datenpaket empfangen hat wird der passende Cacheeintrag gesucht. Wird kein Eintrag gefunden, wird das Paket verworfen. Ansonsten wird der Datencache auf einen passenden Eintrag überprüft. Dieser Cache enthält Informationen über die zuletzt versendeten Pakete, um Loops zu verhindern. Wird also ein Eintrag gefunden, wird das Paket abermals verworfen. Andernfalls wird das Paket an einen Xachbarknoten weitergeleitet und ein Eintrag im Datencache angelegt. Durch das Überprüfen der relevanten Gradienten kann der Knoten die benötigte Datenrate erfahren. Ist die Datenrate der eintreffenden Daten höher, als die Datenrate der ausgehenden Daten kann der Knoten entweder Pakete verwerfen oder die Daten vor dem Weiterleiten abhängig von den Gradienten interpolieren.
2.3.2.3 Reinforcements zum Anlegen und Unterbrechen von Pfaden
Nachdem ein Pfad per Interests und Gradienten angelegt wurde, ist das Sensornetzwerk bereit, die gestellten Aufgaben zu erledigen. Entdeckt ein Knoten ein passendes Phänomen in seiner Umgebung sendet er einen Event zur Senke, möglicherweise auch über mehrere Pfade, Die Senke verstärkt nun einen Pfad von dem sie den Event empfangen hat per Reinforcement und nimmt diesen damit verstärkt in Anspruch, Dieses Verstärken (engl, reinforcement) wird durch das Erhöhen oder Absenken des Datenratefelds im entsprechenden Gradienten erreicht. Dazu wird der Original-Interest mit verändertem Intervallfeld an den entsprechenden Knoten geschickt. Es gibt zwei Arten von Reinforcements: positive und negative. Positive Reinforcements erhöhen die Datenrate und negative senken diese ab. Mit dieser Technik können sehr komplexe Aufgaben erledigt werden, hier ein kurzer Überblick:
- Anlegen eines Pfades mittels positivem Reinforcement
Jeder Nachbar, von dem die Senke eine neue Nachricht bekommen hat, wird positiv verstärkt. Die Nachbarn wiederum verstärken ihre Nachbarn, bis die neue Datenrate erreicht ist. Dies wird fortgesetzt, bis die Quelle erreicht ist und mehr Daten geliefert werden.
- Anlegen eines Pfades mit mehreren Quellen und/oder Senken
Wenn zwei Quellen einen angeforderten Event entdecken, senden beide ihre Beobachtung an die Senke, Auf dem Weg zur Senke kann es Vorkommen, dass sieh die Pfade der beiden Nachrichten kreuzen. Dann werden beim Verstärken von Pfaden beide Pfade verstärkt und nicht nur einer.
Fragt ein Knoten die gleichen Daten an, die schon von einem anderen Knoten per Interest angefragt wurden. Und so schon ein Pfad zwischen den Quellen und der ersten Senke besteht, braucht die neue Senke nur noch den Pfad bis zur bestehenden Verbindung aufzubauen. Durch die Möglichkeit zwei gleiche Interests zu aggregieren kann der bestehende Pfad der alten Verbindung vom Kreuzungspunkt ab mitbenutzt werden.
- Lokales Reparieren eines unterbrochenen Pfads
Erkennt ein Knoten auf dem Pfad zwischen Quelle und Senke ein Problem mit dem bisherigen Pfad, kann er einen neuen Pfad wählen und diesen positiv verstärken, Der bisherige, problematische Pfad wird negativ verstärkt, um ihn zu unterbrechen (siehe nächster Punkt),
- Unterbrechen eines Pfads mittels negativem Reinforcement
Analog zum positiven Reinforcement beim Anlegen von Pfaden, wird negatives Reinforcement dazu genutzt Pfade zu unterbrechen, die nur bereits bekannte Nachrichten liefern.
- Entfernen von Loops mittels negativem Reinforcement
Neben dem Unterbrechen von Pfaden auf denen Pakete verloren gehen oder hohe Verzögerungen auftreten, verhindert negatives Reinforcement auch automatisch Loops, denn Loops können keine neuen Pakete transportieren.
2.3.3 Gradient-Based Routing
Gradient-Based Routing (GBR) [37] erweitert Directed Diffusion, Im Gegensatz zum oben beschriebenen Verlauf ändert sieh folgendes an der Behandlung von Interests und Gradienten:
Wenn ein Interest durch das drahtlose Sensornetz geflutet wird, speichert der Interest die Anzahl von Knoten, die er durchlaufen hat. Das ermöglicht es jedem einzelnen Knoten den kürzesten Weg zur Senke zu finden. Diese Anzahl an Hops nennt sieh Höhe eines Knotens, Der Unterschied zwischen der eigenen Höhe und der eines Nachbarn ist der Gradient der Verbindung, Ein Event wird dann über die Verbindung mit dem höchsten Gradienten weitergeleitet.
2.4 Verfahren zur Gruppierung von Sensorknoten
Betrachtet man die Entwicklung der Sensornetze und deren Programmierung im speziellen, dann stellt man fest, dass es eine starke Tendenz zur Abstrahierung und damit zur Verringerung des Programmieraufwands gibt. In den Anfängen der Sensornetzwerke und auch noch bei heutigen Projekten werden die einzelnen Knoten für ihre spezielle Aufgabe programmiert und ausgerüstet. Eine dynamische Reprogrammierung einzelner Knoten oder gar des ganzen Netzes gab es anfangs allerdings noch nicht. Da die direkte Neuprogrammierung des Sensornetzwerks auch heute noch mit immensem Aufwand verbunden ist, wird vielfach versucht Sensorknoten in Gruppen zusammenzufassen und so die Teile eines Netzes zu isolieren, die zum Beispiel eine neue Anwendung ausführen sollen. In [39] wird eine kleine Übersieht über Verfahren gegeben, die sieh als Ziel die Gruppierung von Sensornetzwerken gesetzt haben:
- Lokale Cluster
— Hood
— Abstract Regions
- Rollen
— Generic Role Assignments
- Region Streams
— Regiment
- Multicast
Die Verfahren werden im Folgenden kurz erläutert. Der nächste Schritt ist jetzt ein Sensornetzwerk, das zur Laufzeit mehrere Anwendungen gleichzeitig bedienen und neue Anwendungen aufnehmen kann. Vor allem aber, die Möglichkeit einer Netzwerkweiten Auswahl der Sensorknoten und einer Einschränkung von Anwendungen auf eine solche Gruppe bietet. Mit den hier beschriebenen Verfahren ist das noch nicht Möglich bzw, sind nur Teile dieser Anforderungen erfüllt. Mit Scopes wird dies möglich sein.
2.4.1 Lokale Cluster
Viele Anwendungen erzeugen lokale Cluster zur Datensammlung, Aus dieser Beobachtung entstanden die Ansätze für Hood [45] und Abstract Regions [44], Beide nutzen sogenannte Nachbarschaften, die im Falle von Hood durch One Hop’-Broadeasts zustande kommen und bei Abstract Regions auch größere Entfernungen umfassen können. Sie werden etwa über einen Radius oder eine höhere Hopanzahl definiert und kommunizieren zum Beispiel mittels Meshes oder Trees untereinander. Innerhalb der Nachbarschaften werden Daten ausgetauseht, aggregiert oder anderweitig Vorverarbeitet, Dabei sind die Knoten in der Regel in mehreren Nachbarschaften gleichzeitig aktiv. Die Software, die auf den einzelnen Knoten läuft, ist dabei überall gleich; Eine Differenzierung der Knoten findet erst zur Laufzeit statt, die von den Knoten in der Nachbarschaft abhängt.
2.4.2 Rollen
Ein Weg das Neuprogrammieren zu umgehen wurde in [36] mit generic role assing- ments vorgestellt. Hier werden die Knoten mit einer Anzahl vorgefertigter Rollen und dazugehörenden Aufgaben programmiert, die dann abhängig von vorgegebenen Umständen aktiv werden. Im Gegensatz zu Hood und Abstract Regions können die Knoten hier Netzwerkweit angesproehen werden, es existiert allerdings keine Funktion mehrere Knoten direkt zu gruppieren.
2.4.3 Region Streams
Regiment [33] ist eine funktionale Makroprogrammierspraehe, die mit Hilfe von Region Streams [44], aus der programmierten Anwendung das Verhalten der einzelnen Sensorknoten eines Sensornetzwerks erzeugt. In dieser Sprache kann der Programmierer etwa eine Gruppe von Knoten über ihre geographische Position oder eine andere Eigenschaft anspreehen und der daraus resultierende Region Stream repräsentiert die Sensordaten der angesproehenen Knoten, Auf Region Streams können weitere Operationen ausgeführt werden, wie zum Beispiel das Aggregieren der Daten.
[...]
[1] Damit wird in der Regel der anfragende Knoten bezeichnet.
[2] sowohl Infrarot, wie auch das Laserverfahren benötigen Sichtkontakt zur Kommunikation zwischen Sender und Empfänger.
[3] http: / / www-bsac.eecs.berkeley.edu / archive / users / warneke-brett / SmartDust /
[4] http://webs.cs.berkeley.edu/tos
[5] http: / / nesl.ee.ucla.edu / projects / SOS /
[6] http://webs.cs.berkeley.edu
[7] http: / / www.eng.yale.edu / enalab/XYZ /
[8] http://www.moteiv.com/
[9] http://www.xbow.com/
[10] http://www.intel.com/research/exploratory/motes.htm
[11] http: / / www-bsac.eecs.berkeley.edu / archive/users/warneke-brett/SmartDust /
[12] http: / / www.intel.com / research / exploratory / wireless_sensors.htm#vibration
[13] http://www.ims.fraunhofer.de/
[14] http://www.greatech.de
[15] http: //telegraph.cs.berkeley.edu/tinydb/
-
-
-
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X.