Data Distribution Service DDS

IoT-Daten in Echtzeit

26. Juli 2016, 15:46 Uhr | Von Andrew Forster
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Wesentliche Eigenschaften des DDS-Protokolls

DDS wurde ursprünglich für Luftfahrt- und Verteidigungsapplikationen entwickelt und ist seit vielen Jahren erfolgreich in weiträumigen, dezentralen Echtzeit-Systemen im Einsatz. Mit dem IIoT-Trend der letzten Jahre wurde es immer häufiger in kommerziellen Anwendungen wie den bereits erwähnten Stromnetzen oder in Netzwerken für die industrielle Automatisierung, das Transportmanagement, für Smart Cities oder für die Gesundheitsversorgung genutzt. Die Grundlage von DDS ist ein datenzentriertes Publish-And-Subscribe-Modell. Dies ermöglicht es, große Mengen dezentraler Applikationsinformationen asynchron und in Echtzeit auszutauschen.

Einzigartig ist dabei der Support der nichtfunktionalen Aspekte der Datenkommunikation, die durch ein umfassendes Quality of Service (QoS) Framework gesteuert werden können: Mehr als 20 konfigurierbare Richtlinien können hierfür verwendet werden, um unter anderem die Zuverlässigkeit, Priorität, Bedeutung und Persistenz von Daten zu regeln. So kann sichergestellt werden, dass die Daten bei kritischen Anforderungen immer zur richtigen Zeit an den richtigen Ort geliefert werden.

Mit dem umfangreichen QoS-Framework von DDS können die Nutzer das Kommunikationsverhalten des Systems an spezifische Anforderungen anpassen. Es kann beispielsweise spezifiziert werden, wie lange Daten für den zukünftigen Nutzen verfügbar sein sollen. Auch ist festlegbar, ob der Datenaustausch absolut zuverlässig oder nur „Best Effort“ erfolgen soll. So kann beispielsweise die Reihenfolge, in der die Daten einer Applikation bereitgestellt werden, festgelegt werden. Auch kann festgelegt werden, ob die Daten direkt oder nur im Rahmen eines größeren Transaktionskontexts ausgetauscht werden. Auch die Möglichkeit der inhaltsbasierten Filterung unterstützt dabei die Idee des intelligenten Datenaustauschs und sorgt dafür, dass die Applikationen nur die Daten erhalten, die für sie wirklich interessant sind. Das befreit subskriptionsbasierte Applikationen von komplexen Sortieralgorithmen, um nur auf die relevanten Informationen zuzugreifen. DDS unterstützt zudem die Skalierbarkeit komplexer dezentraler Systeme. Die Skalierbarkeit ist dadurch gegeben, dass mehrere unabhängige Datenkanäle unterstützt werden. Das erlaubt es den Knoten, viele gleiche Datenströme – möglicherweise tausende – auf einmal zu abonnieren. Kommen die Daten an, kann DDS sie sortieren und effizient weitersenden. DDS bietet hierfür ein integriertes Status-Mitteilungs-Modell: Tauchen Datenstrukturen mit Werten auf, die sich nur gelegentlich ändern, werden sie für das Update nur einmal übertragen. Dadurch lässt sich die Netzwerklast deutlich reduzieren.

Gut portierbar

Der DDS-Standard definiert zudem eine datenzentrierte Publish-Subscribe-Schicht, die eine ganze Reihe an APIs sowie programmiersprachenspezifische Mappings bieten. APIs sind beispielsweise für Programmiersprachen wie Ada, C, C++, C#, Java, Scala, Lua und Ruby verfügbar. Durch den Einsatz solcher standardisierter APIs wird sichergestellt, dass DDS-Applikationen ganz einfach zwischen Implementierungen unterschiedlicher Anbieter portiert werden können.

Der DDS-Standard definiert auch ein „DDS Interoperability Wire Protocol“, kurz: DDSI. Es wurde speziell für Echtzeitsysteme entwickelt und ist ein binäres Protokoll mit einer sehr effizienten und kompakten Codierung, durch die unterschiedliche DDS-Implementierungen miteinander interagieren können. Sie hilft auch dabei, die Systemintegration und die Kosten zu senken sowie ungewollte anbieterspezifische „Lock-ins“ zu verhindern.

DDS unterstützt auch automatische Discovery-Funktionen. Hierzu müssen die DDS-Knoten Informationen zu den Daten, die sie bereitstellen können oder erhalten wollen, deklarieren. Das Protokoll kann so automatisch geeignete Publishers-to-Subscribers verbinden und eine direkte Peer-to-Peer-Kommunikation aufbauen. Es besteht also keine Notwendigkeit, vermittelnde Komponenten wie zum Beispiel einen Broker einzusetzen. Der Prozess der Konfiguration eines komplexen, aus vielen Daten austauschenden Geräten bestehenden IIoT-Systems wird so erheblich vereinfacht. Die Bereitstellung eines Plug-and-Play Support für Geräte, die später ans Netzwerk angebunden werden, ermöglicht es zudem, IIoT-Systeme einfacher weiterzuentwickeln. Diese Unterstützung bietet erhebliche Vorteile für große und komplexe IIoT-Projekte, denn sie ermöglicht eine dynamische und hocheffiziente Entwicklung der Systeme und minimiert die Integrationskosten.

Um ein vertrauenswürdiges IIoT-System zu bauen, bietet DDS auch eine standardisierte Sicherheitsarchitektur. Sie erlaubt es Applikationen, ihre Kommunikation zu schützen, Authentifizierungen zu verwalten und den Zugriff auf ausgewählte Ressourcen zu kontrollieren – die bei Bedarf aus möglicherweise Tausenden von Geräten bestehen können –, um so stets die Integrität und Vertraulichkeit der Daten im IIoT-System sicherzustellen.

passend zum Thema


  1. IoT-Daten in Echtzeit
  2. Wesentliche Eigenschaften des DDS-Protokolls
  3. Stand der Technik im Datenverbund

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ADLINK TECHNOLOGY

Weitere Artikel zu Gateways

Weitere Artikel zu IIoT-Protokolle (OPCUA, MQTT, ...)