Sowohl Cloud Computing als auch das Internet of Things (IoT) gelten als die beiden zentralen Technologietrends der letzten Dekade. Insbesondere das IoT hat in den vergangenen fünf Jahren ein großes Wachstum zu verzeichnen und wird als heiliger Gral der industriellen Revolution betrachtet. Und es ist kein Ende in Sicht. Im Durchschnitt ergeben Schätzungen, dass bis zum Jahr 2020 etwa 13 Milliarden „Dinge“ nur für das IoT auf dem Markt erscheinen werden. Angesichts dieser Menge an Objekten steigen die Bedenken, ob das Internet als Medium überhaupt noch dafür geeignet ist, um die Masse an Daten, die von den Objekten erzeugt und übertragen werden, performant genug zu handhaben.
Ein aus diesen Herausforderungen entstandener Technologietrend ist das Fog Computing. Es soll dabei helfen, die verteilten Daten näher an die Endgeräte und IoT-Objekte zu transportieren und dabei die Latenz und Anzahl der dafür benötigten Hops zu verringern, um z.B. Mobile Computing und Datendienste dadurch besser zu unterstützen. Dennoch bleibt das Internet der zentrale Ankerpunkt, um die Dinge bzw. Objekte untereinander zu verbinden. Es stellt sich die Frage, ob das unterbunden werden kann und ob das IoT ohne das Internet funktionieren kann.
Aus diesen Überlegungen heraus, stärken sich derzeit Diskussionen um das Mesh Computing, eine Netzwerktopologie, die das Internet nicht benötigt, um Daten zu übertragen. Dadurch wäre es potentiell möglich, die Abhängigkeiten des IoT und anderer Systeme zum Internet zu verringern.
Was ist Mesh Computing?
Mesh Computing bzw. Mesh Networking ist eine Netzwerktopologie, bei welcher jeder Host/ Node (Infrastrukturkomponente) direkt miteinander verbunden ist. Das Internet wird für den Datenaustausch nicht benötigt. Die Kommunikation erfolgt direkt zwischen einer größtmöglichen Anzahl von Hosts, die miteinander zusammenarbeiten, um Daten effizient zwischen den Hosts auszutauschen. Hierfür wird entweder Flooding oder Routing eingesetzt. Während des Flooding wird ein eingehendes Netzwerkpaket an jeden ausgehenden Port weitergeleitet, außer an denjenigen, von welchem es ursprünglich gekommen ist. Beim Routing erhält das Netzwerkpaket vorab Informationen für den Pfad (von Node zu Node) zum endgültigen Ziel. Um sicherzustellen, dass ein Netzwerkpaket ständig einen verfügbaren Pfad zum Ziel findet, sind Mesh Networks in der Lage, sich dynamisch selbst neu zu organisieren und hierfür selbst zu konfigurieren. Es geht hierbei also um eine Selbstheilung, um defekte Pfade zu umgehen. Damit ist ein Netzwerk ziemlich zuverlässig aufgebaut, da mehr als ein Pfad zwischen Start und Ziel existiert. Die Fähigkeit, sich selbst neu zu konfigurieren erlaubt es zudem, Workloads dynamisch zu verteilen, insbesondere dann, wenn ein Node unvorhergesehen ausfällt.
Quelle: specmeters.com
Was sind die Vorteile von Mesh Computing?
Mit dem Einsatz lokaler autonomer Meshing-Verfahren lässt sich die Effizienz eines Netzwerks verbessern. Daten von IoT-Geräten wie Thermostate, Haushaltsgeräte und anderer vernetzter Geräte im Haushalt lassen Daten nun direkt und ohne Internetverbindung untereinander austauschen. Da hierfür keine Verbindung zur Cloud notwendig ist, um Daten zu speichern, werden damit Sicherheitsbedenken verringert.
Ein defekter Node beeinträchtigt die Datenübertragung innerhalb eines Mesh Networks nicht. Jeder Node ist mit einer Vielzahl anderer Nodes verbunden, was es einfacher macht, Daten zu übertragen. So wird bspw. ein defektes Gerät von dem Netzwerk ignoriert und der nächstmögliche Node genutzt. Hinzu kommt, dass ein weiteres Gerät, welches dem Netzwerk hinzugefügt wird, keinen Einfluss auf die Netzwerkkonnektivität hat. Im Gegenteil, es wird dafür sorgen, den Verkehr innerhalb des Netzwerks zu verbessern, indem Routing-Algorithmen plötzlich mehr Möglichkeiten besitzen, um Datenpakete effizienter zu vermitteln. Damit kann ein Mesh Network einen hohen Netzwerkverkehr handhaben, da jedes einzelne Gerät als Node betrachtet wird. Im Netzwerk zusammengeschaltete Geräte können zeitgleich Daten übertragen und die Netzwerkverbindungen dabei nicht beeinflussen.
Was sind Anwendungsbeispiele für Mesh Computing?
Betrachtet man Mesh Networks konkret aus dem Blinkwinkel des Mesh Computing, liegen just in diesem Moment Unmengen an CPU- und GPU-Rechenleistungen weltweit ungenutzt, die für unterschiedliche Zwecke verwendet werden können. Hierzu gehören:
- Machine Learning: Die Algorithmen und dafür notwendigen Datensätze lassen sich über eine nahezu unendliche Anzahl von Nodes weltweit verteilen und verarbeiten.
- Wissenschaftliche Forschung: Die parallele Verarbeitung von Datensätzen lässt sich über viele Computer verteilen ohne einen Supercomputer zu nutzen.
- Verteilte Applikationen: In Kombination mit dem Mesh Networking Konzept lassen sich fehlertolerante und hochskalierbare Applikationen entwickeln und verteilt betreiben.
- Internet of Things: Jedes Endgerät kann Teil eines Edge Netzwerks werden, um Daten zu sammeln und zu analysieren, ohne dafür eine neue Infrastruktur aufzubauen.
- Graphikverarbeitung: Rendering Jobs für Bilder und Filme können auf mehrere verteilte Computer ausgelagert werden.
- Mining von Kryptowährung: Jede Art von System, sei es ein nicht genutzter Spiele-PC, ein Server oder eine gewöhnliche Workstation, lässt sich für das Mining von Kryptowährungen einsetzen.
Ein Unternehmen, was Mesh Computing aktiv verfolgt ist Computes.com, welches eine dezentrale Mesh Computing Platform für Unternehmen und Non-Profit Organisationen entwickelt hat. Computes möchte ein Gegengewicht zum Cloud Computing darstellen und es Unternehmen ermöglichen, die Rechenleistung ihrer vorhandenen Computer zu nutzen, anstatt in „traditionelle“ Cloud Computing Lösung zu investieren. Eine Non-Profit Organisation, die bereits auf Mesh Computing von Computes.com setzt, ist die University of Wisconsins, im Rahmen ihrer Forschung gegen Parkinson.
Computes CEO Chris Matthieu scheint sich zudem mit den Herausforderungen hinsichtlich Datensicherheit und Datenschutz im Kontext des Mesh Computing beschäftigt zu haben und nennt hierbei Stichworte wie Crypto, Encryption, Containers und Sandbox.
Great points! We believe we have a great security story. More details soon… #crypto #encryption #containers #private #meshnetwork #sandbox
— Chris Matthieu (@chrismatthieu) January 2, 2018
Wir dürfen gespannt sein.
Eine Randnotiz zu Mesh Computing
Der Ansatz des Mesh Computing kommt dem einen oder anderen sicherlich bekannt vor. Und in der Tat sieht es dem SETI@home (Suche nach Außerirdischen) oder dem Folding@home (Krebsforschung) Projekten sehr ähnlich. Zur Auswertung der riesigen Datenmengen benötigen die Projekte selbst wenig eigene Rechenleistung. Stattdessen werden die Workloads an die Computer der SETI@home/ Folding@home Projektteilnehmer ausgelagert. Hierzu gehören u.a. auch Unternehmen wie Intel und Sun, die SETI@home mit Rechenleistung und Spenden unterstützen.