Robert Hänsel, Olga Mauch, Ilja Radusch, Stephan Steglich, Radu Popescu-Zeletin
Abstract:
In traditional computer networks object-based middleware provides portability between different hardware and
software architectures as well as a common application environment for each distributed participant. Thereby,
the networking middleware abstracts from different network requirements, tasks, and protocols by offering
higher level tools and program language specific objects. These requirements and tasks can include for example
marshalling, providing additional object consistency over unreliable network protocols as well as implementing
common algorithms.
However, the hardware and software found in each sensor node is almost the same due to the nature of sensor
networks. But nonetheless the application domains for a specific sensor network can vary heavily. Therefore,
all differentiation between sensor nodes happens at run-time. For example, nodes must be able to reduce their
work load to sensing, forwarding, or sleeping depending on the node density or energy level. This implies a certain
level of reflection within the proposed sensor middleware: Nodes must be able to determine and influence
its and other nodes’ status and abilities. That demands an appropriate specification which is outlined here.
Since the sensor nodes must operate unattended, the middleware must offer new levels of support for automatic
configuration and error handling. This includes distributing traditional centralised services like data collection
and processing with a rule-based approach.
Apart from general sensor network constrains such as low energy, low memory, low bandwidth, the massive
number of nodes and the implied self-configuration, and the anticipated high failure rate, two major parameters
are important for the selection of networking algorithms: the mobility of individual sensor nodes and the query/
event rate. These parameters determine mainly whether the middleware can choose to spend time gathering
information for proactive routing or whether the algorithms must relapse to reactive data dissemination. The
sensor networking middleware can help the application developer to abstract from all these parameters while
providing the appropriate algorithms for efficient communication. The most common algorithms are presented
shortly and classified according to the above parameters.
Übersicht:
Die Hauptaufgabe traditioneller objekt-basierter Middlewaresysteme ist zum einen die Bereitstellung von Portabilität
zwischen verschiedenen Hard- und Softwarearchitekturen sowie von einer einheitlicher Umgebung für
die verteilten Applikationen. Dabei abstrahiert die Middleware von den verschiedenen Netzwerkanforderungen,
-aufgaben und -protokollen und bietet programmiersprachenspezifische Werkzeuge für den einheitlichen Zugriff
auf die Netzwerkressourcen. Derartige Anforderungen und Aufgaben sind z. B. Marshalling, Objektkonsistenz
über unzuverlässige Netzwerkprotokolle sowie die Implementierung allgemein verwendbarer Algorithmen.
Während in Sensornetzwerken die Hardware der einzelnen Knoten im allgemeinen gleich ist, können sich die
Anwendungen für diese gleich bleibenden Sensorknoten sehr stark unterscheiden. Dies betrifft z. B. die erwartete
Lebensdauer des Sensornetzwerkes oder die erwartete Dichte der einzelnen Knoten. Daher kann in
diesen Umgebungen die Aufgabenunterscheidung der Sensorknoten erst zur Laufzeit erfolgen. Auf Grund der
dynamischen Rollenverteilung reduzieren einzelne Sensoren ihren Energieverbrauch um eine hohe Redundanz
der Knoten zur Energieeinsparung zu nutzen oder beschränken sich ganz auf die Weiterleitung wichtiger Daten,
die schnell zum Empfänger gelangen müssen. Um diese Art der dynamischen Rollenanpassung einsetzen zu
können, ist es zwingend notwendig, den aktuellen Zustand und die angebotenen Möglichkeiten eines einzelnen
Knoten abfragen und beeinflussen zu können. Der aktuelle Forschung im Bereich der reflektierenden Middlewaresysteme
spezifiert und implementiert die dafür notwendigen Schnittstellen und Algorithmen.
Abgesehen davon muß eine Middleware für Sensornetzwerke besondere Unterstützung für die automatische
Konfiguration und Fehlerbehandlung von Sensorknoten erlauben, da die große Anzahl von Knoten innerhalb
eines Netzwerkes es nicht erlaubt, diese individuell einzurichten. Dabei werden bisher zentralisierte Dienste
wie globale die Datenerfassung und -verarbeitung dezentralisiert und ein Großteil der Anwendungslogik in das
Netzwerk verlagert.
Neben allgemeinen Beschränkungen eines Sensornetzwerkes wie die geringe Verfügbarkeit von Energie,
Speicher und Bandbreite und die damit verbundene hohe Ausfallrate sind vor allem die Mobilität einzelner
Sensorknoten sowie die Rate der Anfragen und Ereignisse die weitergeleitet bzw. gemeldet werden müssen
entscheidend für die Auswahl der geeigneten Netzwerkalgorithmen. Zeitlich und räumlich stabile Topologien ermöglichen
es der Middleware z. B. im voraus Information zur effizienteren Weiterleitung von Daten zu sammeln.
Die Erkennung und Einordnung der aktuellen Netzwerksituationen wird dabei implizit von der Middleware übernommen,
um den Entwickler von Anwendungen für ein Sensornetzwerk best möglich zu entlasten.
|