Distributed Middleware for Global Knowledge in Sensor Networks

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.


Frequenz

© 2004, Fraunhofer IZM