PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Mit Datenaggregation und Sensorfusion
PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Wie können Sensorknoten semantisch miteinander Daten austauschen
Wie können Sich einzelne Knoten miteinander verbinden ohne IP Adressen zu nutzen?
Services vs. Geräten
Semantik von Daten vs. IP Adressen
Geospatiale Semantische URLs PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
URL Schema = PROTO://SERVER/PATH?PARAMTER
Die Idee: Pfade werden benutzt um Sensoren, d.h., Sensorknoten zu erreichen
Geospatiale Semantische URLs PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Die Pfade können aus geospatialen und sensorsemantischen Kennzeichnern zusammengesetzt werden
Die Verzeichnise können geospatiale Räume abbilden
Sensorknoten können in beliebig vielen Verzeichnissen registriert werden
dns/geo/bremen/sensor/temperatur/*dns/sensor/temperatur/ba8b195b-6810-ea2e-457a-8b629382c80cdns/sensor/temperatur/location/room/dns/geo/bremen/sensor/nodes/*
Geospatiale Semantische URLs PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Wie könnte ein geeignetes semantische Schema aussehen (Klassifiaktion)
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXba8b195b-6810-ea2e-457a-8b629382c80c0c9c23d4-15d0-ab81-207a-7c24dba9c00b
Sensor Router: Verzeichnisserver und Kommunikationsmultiplexer PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Es wird WebSocket Kommunikation zwischen einem Sensorknoten und dem öffentlich sichtbaren Sensor Router (inkl. DNS) verwendet
Der Kommuniaktionskanal überträgt RPC Nachrichten vom Endpunkt zum Router un umgekehrt
Der Sensor Router verwaltet die Verzeichnisse und trägt neue Sensorknoten in den Verzeichnissen ein
Andere Sensorknoten oder Rechner können mit einem Sensorknoten über den Sensor Router (Multiplexer) verbunden werden → Virtuelle Kanäle (Virtual Channel, VC)
Sensor Router: Verzeichnisserver und Kommunikationsmultiplexer PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Kommunikationsarchitektur des Sensor Routers mit DNS
Remote Procedure Call PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Jeder Endpunkt (Sensorknoten) kann über einen WebSocket Kanal einen RPC Service zur Verfügung stellen:
Jedser RPC Service hat einen Port und stellt Operation via Capabilities bereit
Remote Procedure Call PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Zugriffsrechte und Authorisierung PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Bisher könnte jeder Sensorknoten der mit dem Sensor Router eine Verbindung hat alle Operationen ausgühren
Sogenannte Capabilities geben dem Klienten (Endpunkt) bestimmte Rechte für Operationen
Eine Capability besteht aus:
Capabilities PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Capabilities und Einwegverschlüssung des Rechtefelds mit einem (privaten) randomsierten Port
GateWay Router PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Der Gateway Router stellt Gruppenverwaltung, Nachrichtenvermittlung zwischen LuaOS Peers, und Garbage Collecting zu Verfügung
LuaOS Route API PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
LuaOS Route API PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
local <route> = route:new(url:string)
<route>:ping()local <port> = <route>:connect()<port>:peerid
LuaOS Route API PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
<route>:ask(groupid:string)
liefert alle Mitglieder einer Gruppe (Port UUID)<route>:create(groupid:string)
erzeugt eine neue leere Gruppe<route>:delete(groupid:string)
erzeugt eine neue leere Gruppe<route>:join(groupid:string)
fügt lokalen Peer Port zur Gruppe hinzu <route>:unjoin(groupid:string)
entfernt lokalen Peer Port zur GruppeLuaOS Route API PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Wenn ein Peer Port beim Route registriert ist können beliebige andere Peer Ports von anderen LuaOS Knoten verbunden werden (Virtual Circuit):
<port>:connect(peerid:string)
Wenn mehr als ein Remote Peer Port hinzugefügt wird erhält man Nachrichtenmulticasting, d.h. jede eingehende Nachricht wird an alle hinzugefügten Zielports dupliziert gesendet
Nachrichten können über den Port empfangen und gesendet werden:
<port>:write(data)
sendet eine Nachricht (String oder Datentabelle) über den vrituellen Kanal<port>:read()
liest Daten aus einer Eingabequeue die von anderen Peer Ports an diese gesendet wurdenTupelräume PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Werden noch im Modul Gruppenkommunikation behandelt
Es gibt Produzenten und Kosumenten. Datenaustausch ist anonym (nicht addressiert). Verbindung von Produzenten und Konsumenten über Tupeldaten nur durch deren Inhalt, nicht aber Ort.
Die Daten sind mit Tupeln organisiert.
Tupel-Räume stellen ein assoziiertes Shared-Memory-Modell dar, wobei die gemeinsam genutzten Daten als Objekte mit einer Reihe von Operationen betrachtet werden, die den Zugriff der Datenobjekte unterstützen
Tupelräume PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Ein Tupel ist eine lose gekoppelte Verbindung einer beliebigen Anzahl von Werten beliebiger Art /Typ/
Ein Tupel ist ein Wert und sobald es in einem Tupelraum gespeichert ist, ist es persistent.
Tupelwerte erfordern einen Mustervergleich basierend auf dem Vorlagenmuster, bestehend aus tatsächlichen (v, ε, x) und formalen Parametern (x?, Variablen, die mit Referenzsemantik verwendet werden)
Ein Tupel kann nur durch seine Verknüpfung mit Vorlagenmustern (Templates) p angesprochen werden.
Ein bekanntes Tupelraum-Organisations- und Koordinationsparadigma ist Linda [GEL85].
Tupelräume PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Basisoperation: Output, Input, Read. Die lesenden (konsumierenden) Operation blockieren den Aufrufer solange bis passende Tupel gefunden wurden.
Ein- und Ausgabeoperationen in Tupelräumen
Zusammenfassung PD Stefan Bosse - Modul E: Semantisch Organisierte Sensornetzwerke und Gruppenkommunikation
Verzeichnisdienst mit Services über Pfade und addressierter Remote-Procedure Call Kommunikation (servicegetriebene Kommunikation)
Datenbank mit Tupeln und rein datengetriebene Kommunikation mittels Mustern (generative Kommunikation)