Warum werden Daten möglicherweise an einen Cloud-Dienst gesendet, wenn sie am Rande verarbeitet werden können?

7

Ich habe kürzlich die Informationen von Amazon über die AWS IoT-Plattform gelesen und bin auf einen interessanten Anwendungsbeispiel gestoßen:

Beispiel für die Verwendung von AWS IoT zur Erkennung von Feuchtigkeit für die Fahrzeugsicherheit

Obwohl sie nicht beschreiben, wie genau die Straßenzustandsdaten erfasst werden , warum sollte Amazon vorschlagen, die Daten an die Cloud zu senden , wenn der Sensor eine nasse Straße erkennen kann ? Wäre es nicht einfacher, die Sensordaten im Fahrzeug direkt zu verarbeiten und den Fahrer zu alarmieren, als zu erfassen, Daten an die Cloud zu senden, auf die Verarbeitung zu warten, Daten zu empfangen und dann den Fahrer zu alarmieren? Ich kann nur die möglichen Analysedaten sehen, die Sie gewinnen würden.

Ist der Beispielanwendungsfall von Amazon nur dann von Vorteil, wenn Sie Analysedaten abrufen möchten, oder gibt es andere Gründe, aus denen die Verwendung der Cloud vorgeschlagen wird?


Ich vermute, einer der Gründe ist einfach, die Leute dazu zu bringen, den Service zu nutzen, den sie verkaufen möchten, aber ich bin an technischen Gründen interessiert , falls es welche gibt.

Aurora0001
quelle

Antworten:

6

Es gibt viele Faktoren bei der Auswahl, ob Daten auf dem Gerät oder in der Cloud verarbeitet werden sollen.

Vorteile der Verarbeitung in der Cloud

  1. Wenn der Algorithmus Gleitkomma verwendet oder auf einer GPU ausgeführt wird, kann er möglicherweise nicht auf dem im Sensor eingebetteten Prozessor ausgeführt werden.

  2. Selbst wenn dies nicht der Fall ist, ist es möglicherweise zu teuer (in Entwicklerzeit), den Algorithmus für die Ausführung auf dem Sensor zu portieren, wenn er in einer Hochsprache entwickelt wurde.

  3. Das Abladen der Berechnung vom Sensor kann die Batterielebensdauer verlängern (abhängig davon, wie sich dies auf die Netzwerk- / Funknutzung auswirkt).

  4. Durch Ausführen des Algorithmus in der Cloud können die Daten vieler Sensoren kombiniert und eine Entscheidung auf Systemebene getroffen werden. In diesem Beispiel kann dies bedeuten, dass über die Sensoren verschiedener Autos gefiltert wird, sodass das Waschen eines Autos nicht in jedem Auto eine Regenwarnung verursacht.

  5. Durch die Verarbeitung in der Cloud können die Informationen an viele Orte verteilt werden, ohne dass ein Mesh-Netzwerk erforderlich ist. Dies ist eine komplizierte Architektur.

  6. Sie können mehr Daten protokollieren, was eine bessere Analyse, Prüfung und Entwicklung besserer Algorithmen ermöglicht.

Vorteile der Verarbeitung an Bord

  1. Wenn die Rohdaten des Sensors eine hohe Bandbreite haben, wird möglicherweise weniger Batterie benötigt, um die Daten zusammenzufassen und die Zusammenfassung zu senden (abhängig davon, welche Verarbeitung zum Zusammenfassen erforderlich ist). Dies kann bedeuten, dass Sie nicht 100-mal pro Sekunde einen 8-Bit-Feuchtigkeitsmesswert senden, sondern diesen filtern und alle 10 Sekunden ein 1-Bit-Wet / Dry-Flag senden.

  2. Sie können noch weiter gehen und das Netzwerk nur dann aufwecken, wenn der Sensor etwas Interessantes zu melden hat (z. B. Änderungen des nassen / trockenen Zustands).

  3. Durch Reduzieren der Netzwerkbandbreite auf der Sensorseite wird diese auch auf der Serverseite reduziert, sodass Sie den Dienst sehr kostengünstig auf mehr Benutzer (mehr Sensoren) skalieren können.

  4. Möglicherweise kann der Dienst mit derselben oder einer reduzierten Funktionalität ausgeführt werden, auch wenn das Netzwerk nicht verfügbar ist. In diesem Beispiel kann Ihr Auto Sie möglicherweise vor rutschigen Straßen warnen, die es selbst sieht, aber Sie werden nicht vor anderen Autos gewarnt.

Insgesamt

Normalerweise ist eine Kombination aus beiden optimal. Sie können so viel Verarbeitung durchführen, wie Sie sich auf dem Gerät leisten können, um den Netzwerkbedarf so gering wie möglich zu halten, und dann komplexere Algorithmen in der Cloud ausführen, die mehr Eingaben kombinieren oder mehr Rechenleistung verbrauchen können.

Sie können damit beginnen, Ihre gesamte Verarbeitung in der Cloud auszuführen (da sie in Matlab oder Python als Prototyp erstellt wurde) und Teile schrittweise auf Rust portieren, um die Offline-Funktionalität zu aktivieren, wenn Sie Zeit für Entwickler haben.

Sie können die Daten auf dem Gerät bei normaler Verwendung stark verarbeiten, aber manchmal auch die Rohdaten abtasten und protokollieren, damit Sie sie später (wenn das Netzwerk verfügbarer ist) für Ihre Analysen in die Cloud hochladen können.

Dan Hulme
quelle
3

Was aus der Grafik möglicherweise nicht ersichtlich ist, ist, dass die vorgeschlagene Wertschöpfung darin zu bestehen scheint, Informationen von einem Fahrzeugsatz an einen anderen weiterzugeben. Die Sensorinformationen von Autos an einem Ort können verarbeitet (Geräuschunterdrückung, Mustererkennung) und an andere Fahrzeuge weitergegeben werden, von denen erwartet wird, dass sie in naher Zukunft diesen Bedingungen begegnen.

Möglicherweise können Sie die Informationen in belebten Bereichen Peer-to-Peer weitergeben, verlieren jedoch die Fähigkeit, Vertrauensdaten aus der Sensorprognose zu extrahieren und problemlos mehrere Datenquellen zu kombinieren

In Bezug auf den Wert der Sensordaten denke ich, dass es selbstfahrende Fahrzeuge sind, die am meisten davon profitieren, wenn sie in der Lage sind, ihre Sicherheitsmargen und Bremswege vor (zum Beispiel) einer Kurve anzupassen, in der einige Zeit nach a mehr Restwasser vorhanden war Regenschauer ist vorbei.

Es scheint machbar, dass ein Modell auf Sensordaten aus dem Auto trainiert und dann auf der Grundlage eines Echtzeit-Wetterfeeds auf prädiktive Weise ausgeführt werden kann.

Sean Houlihane
quelle