SSV/ECC: Embedded Cloud Computing

SSV/ECC: Mit vereinten Kräften

Durch die Verbindung mit einem Cloud-Service - also einer speziellen Webanwendung, die auf einem Server im Internet oder Intranet abläuft - lässt sich der Funktionsvorrat eines Embedded Systems oder einer Automatisierungsbaugruppe deutlich erweitern.

Durch einen solchen Zusammenschluss entsteht ein verteiltes System, also mehrere voneinander unabhängige Computer, die dem Benutzer wie ein einzelnes, zusammenhängendes System erscheinen. Die Flexibilität und Funktionsvielfalt einer solchen Lösung bewirkt einen deutlich gesteigerten Anwendernutzen.

Was genau ist eigentlich ein Cloud-Service?

Unter einem "Cloud-Service" versteht man einen speziellen Dienst im Internet, der mit Hilfe des Cloud-Computing realisiert wird. Der Begriff "Cloud" basiert im Übrigen auf dem Sachverhalt, dass das Internet in Graphiken und Abbildungen stets als (Netzwerk-) Wolke dargestellt wird. "Cloud-Service" bedeutet demzufolge, dass ein wie auch immer gearteter Service irgendwo in der (Internet-) Wolke zur Verfügung steht.

Drei-Schichten-Modell
Abbildung 1: Cloud-Computing lässt sich durch ein Drei-Schichten-Modell abbilden

Das einem Cloud-Service zu Grunde liegende Cloud-Computing kann man sich als Modell dreier übereinander liegender Schichten vorstellen, auf die jeweils einzeln per Internet zugegriffen werden kann. Die unterste Ebene bildet die Infrastructure as a Service (IaaS), im Allgemeinen eine virtuelle Rechenzentrums- oder Serverinfrastruktur.

Direkt darüber findet man die Platform as a Service (PaaS). In dieser Schicht wird eine Laufzeitumgebung (Computing Platform) mit Betriebssystem, Webserver, Bibliotheken (Library Support), speziellen Sprachinterpretern, Datenbank usw. zur Verfügung gestellt, um selbst entwickelte Anwendungen ablaufen zu lassen.

Software as a Service (SaaS) bildet die oberste Ebene. Hier sind die Webanwendungen - wie zum Beispiel Suchmaschinen, Facebook, Twitter oder webbasierte E-Mail-Dienste - zu finden. Sie bieten eine per Internet erreichbare Serviceschnittstelle, über welche die jeweiligen Dienste in Anspruch genommen werden können. Die SaaS-Schicht ist für den Zugriff durch Anwender oder dezentrale Subsysteme gedacht - im ersten Fall handelt es sich um manuelle, im zweiten Fall um automatische Zugriffe.

Welche Anwendungsmöglichkeiten gibt es?

Die Kombination eines Embedded Systems oder einer Automatisierungsbaugruppe und der Cloud-Softwarekomponenten ermöglicht neue Standardfunktionen, die den Praxiseinsatz derartiger Systeme stark vereinfachen. Hier einige Beispiele:

Monitoring-Website: In der Cloud wird eine individuelle Webseite für jedes eingebettete System oder die Automatisierungsbaugruppe abgelegt. In dieser Webseite existieren Platzhalter für die letzen aktuellen Daten, die vom jeweiligen Embedded-System-, bzw. von der Automatisierungsbaugruppe in bestimmten Zeitabständen per Internet übermittelt werden. Das Ergebnis - also den aktuellen Zustand und die letzten wichtigen Systemmeldungen - kann sich ein autorisierter Benutzer jederzeit mit einem beliebigen Webbrowser per PC oder Smartphone anschauen.

Fernüberwachung wichtiger Systemfunktionen: Ein Embedded System, bzw. eine Automatisierungsbaugruppe übermittelt periodisch bestimmte Systemereignisse (Anzahl der Boot-Vorgänge, Temperatur, Flash-Schreibzugriffe, Speicherauslastung usw.) an einen Dienst in der Cloud. Dort werden die Daten verdichtet und geprüft. Beim über- oder unterschreiten vorgegebener Grenzwerte wird ein Servicemitarbeiter automatisch alarmiert. Auf diese Art und Weise lässt sich zum Beispiel die Anzahl der Flash-Speicherbaustein-Löschzyklen in Photovoltaik-Datenloggern oder anderen Systemen im Dauereinsatz sicher überwachen.

Konfigurationsdaten- und Softwaremanagement: In der Cloud existiert eine spezielle "Geräte-Datenbank". Jedes Embedded System, bzw. jede Automatisierungsbaugruppe kann über einen besonderen Schlüssel als Zugangsberechtigung und einem Identifier als Adresse die jeweils aktuellen Konfigurationseinstellungen in der Datenbank speichern, bzw. auslesen. Darüber hinaus werden in der Datenbank für jedes eingebettete System, bzw. jede Automatisierungsbaugruppe die Versionsnummern der installierten Softwaremodule abgelegt.

VPN-gesicherter Fernzugriff: Embedded Systeme, bzw. Automatisierungsbaugruppen und die PCs von Service- und Supportmitarbeitern werden per Internet zu einem hochsicheren VPN (Virtual Private Network) zusammengeschaltet. Über das VPN kann auf alle Ressourcen eines eingebetteten Systems, bzw. der Automatisierungsbaugruppe zugegriffen werden. Dadurch sind beispielsweise auch neue Service-Dienstleistungen - zum Beispiel ein Inbetriebnahme-Support oder regelmäßiger Software-Update per Internet - möglich.

Das Orchester der Services

Die Cloud-Services einer bestimmten Lösung erbringen die Funktionalität in der Regel gemeinschaftlich. Abbildung 2 zeigt die für eine Web-Monitoringlösung erforderlichen Cloud-Services und deren Zusammenspiel. Für die Entgegennahme der aktuellen Daten eines Embedded-System-, bzw. einer Automatisierungsbaugruppe ist der Cloud Data Collector (CDC) verantwortlich.

Diesem Service können alle Endgeräte einer Lösung periodisch die für die Visualisierung erforderlichen Werte zusenden. Der CDC speichert die jeweils zuletzt erhaltenen Daten eines Endgeräts in einem internen Zwischenspeicher - dem CDC Memory. Zu den beiden Cloud-Services Live Visualisierung Smartphone (LVS) und Live Visualisierung PC (LVP) gehören spezielle, vorgefertigte Webseiten für Smartphone- und PC-Browseransichten. In diese Webseiten ist JavaScript-Code für eine AJAX-Schnittstelle eingebettet, um bei Bedarf die Daten aus dem CDC Memory zu lesen und innerhalb einer Webseite anzuzeigen und zu aktualisieren.

Zusammenspiel der Cloud-Services
Abbildung 2: Zusammenspiel der Cloud-Services für die Webvisualisierung

Fordert der Webbrowser eines Smartphones oder PCs vom LVS- oder LVP-Cloud-Service eine Webseite an, so sendet der zu den Cloud-Services gehörenden HTTP(S)-Server zunächst einmal die Website an den Browser. Dieser bringt die Webseite zur Anzeige und startet dadurch den in die Seite eingebetteten JavaScript-Code für die AJAX-Schnittstelle.

Der JavaScript-Code kommuniziert periodisch mit einem Request/Response-Verfahren über den HTTP(S)-Server mit dem LVS- oder LVP-Cloud-Service. Jeder AJAX-Request der Webseite bewirkt, dass der jeweilige Service sofort die aktuellen Daten aus dem CDC Memory holt und als Bestandteil der Response an die Webseite im Browser schickt. Dadurch entsteht in der Browser-Ansicht des Smartphones, PCs oder Webpads eine Live-Daten-Visualisierung für ein bestimmtes Embedded-System-, bzw. eine Automatisierungsbaugruppe.

Copyright © 2012 SSV Software Systems GmbH. Alle Rechte vorbehalten. Tel.: +49(0)511 / 40 000-0 | Fax: +49(0)511 / 40 000-40