Software für ein AR-Wearable für Techniker im Außendienst

Optimierung der Software eines Prototyps eines AR-Wearables, das Techniker im Außendienst mit Remote-Experten verbindet

Lösung

Softwareentwicklung für ein Wearable

Branche

Verbraucherelektronik

Kooperationsmodell

T&M (Zeit und Material)

Methode Scrum
Team
  • Software-Entwickler
  • Project Manager
  • Business-Analysten
  • UI Designer
  • Projektleiter

KUNDE

Case-Highlights

  • Stellt die Stabilität des Systems sicher, wenn die Zahl der Anfragen steigt,
  • Schließt Systemausfälle und Server-Reboots aus,
  • Garantiert erfolgreiche Aufrufe, auch bei steigender Belastung des Backends,
  • Repliziert die Daten kontinuierlich über alle angeschlossenen Backends.

Problem

Der Kunde entwickelte einen Prototyp eines tragbaren AR-Gerätes, das Techniker im Außendienst mit Remote-Experten verbindet.

Die Lösung des Kunden ist ein verteiltes System, d. h. sie soll zahlreiche Abrufe von Nutzerdaten und Backend-Antworten unterstützen. Der Mobile Client konnte die steigende Anzahl von Anfragen nicht bewältigen – die App betrachtete sie als DDoS-Angriffe und stürzte ab. Dies führte auch zu anderen Fehlern in der Anwendung:

  • Das Backend versagte, sobald die Anzahl der Anfragen anstieg;
  • Nicht alle Backends teilten dieselben Daten;
  • Das System unterstützte das Anfrage-Antwort-Muster nicht;
  • Nicht alle Daten des Clients wurden an den Server übertragen;
  • Die WebSocket-Verbindung, die die Echtzeitkommunikation zwischen allen mit dem Server verbundenen Clients unterstützt, war instabil;
  • Es kam häufig zu Systemfehlern.

Aufgrund dieser Probleme konnte der Kunde nicht mit der Massenproduktion des Geräts beginnen. Also wandte er sich an Softeq, um seine Lösung zu optimieren. Unsere Aufgabe war es, zu ermöglichen, dass das System kontinuierlich verfügbar ist und 100 % aller Anrufe erfolgreich sind.

Lösung

Redis Database

Um die Verbindung stabil zu machen, implementierten wir zunächst den Redis Backplane-Dienst.

Das System sollte eine beliebige Anzahl von Anfragen verarbeiten und Daten auf allen Backends replizieren.

Das System wurde in die Azure Cloud Services integriert. Als die Zahl der Anfragen stieg, duplizierte Azure die Backends, um die Belastung gleichmäßig zu verteilen. Hierfür wurde ein Load Balancer eingesetzt. Trotz dieser Maßnahmen wurde keine Systemstabilität erreicht.

Wie sich herausstellte, hat die Redis-Datenbank einige Einschränkungen in ihren Funktionen, die zu häufigen Fehlern führten, z. B. war es unmöglich

  • Daten auf allen Backends zu replizieren,
  • Anfrage-Antwort-Muster zu unterstützen.

Da das Problem immer noch nicht gelöst war, mussten unsere Softwareentwickler die Idee, den Redis-Dienst zu nutzen, verwerfen und sich nach einer anderen Lösung umsehen.

Stabilität mit Azure SignalR

Als Alternative zu Redis entschieden wir uns für Azure SignalR.

Dieser Dienst wurde für groß angelegte Lösungen konzipiert und löst unsere beiden Hauptprobleme:

  • Verfügbarkeit des Systems
  • Einheitlichkeit der Daten

Azure SignalR ermöglicht es dem System, relevante Daten in Echtzeit vom Client zu den Servern zu übertragen und umgekehrt. 

Auf diese Weise konnten wir die Belastung, die durch Speicherung von Kundeninformationen und die Aufrechterhaltung der WebSocket-Verbindung entstand, vom Backend auf Azure SignalR übertragen.

Wir führten mehrere Tests durch, um sicherzustellen, dass die Verbindung nicht abbricht.

Upgrade für mobile Videoanrufe

Die ursprüngliche Lösung des Kunden verwendete eine P2P-Verbindung.

Wir ersetzten P2P durch eine Gruppenverbindung, die den WebRTC-Videostream an den Twilio-Server weiterleitet. So stellten wir sicher, dass der Mobile Client bei einem Videoanruf stabil bleibt.

Reibungslose AR-basierte Kommunikation

Nachdem wir die App überarbeitet haben, kann ein Techniker im Außendienst (Field Technician, FT) einen Gruppenanruf mit beliebig vielen Remote-Experten (RE) organisieren.

Neue Funktion – Berichterstellung

Wir entwickelten einen Algorithmus zur Berichterstellung, der:

  • die Leistungsfähigkeit,
  • die Ausfälle
  • und die Fehler des Systems abbildet.

Das Berichtssystem sorgt dafür, dass wichtige Statistiken jederzeit pünktlich geliefert werden.

Verstärkte Sicherheit

Wir aktualisierten die Sicherheitsfunktionen der Lösung.

Alle Daten, die von der App genutzt und erzeugt werden, werden über das HTTPS-Protokoll übertragen. Die Autorisierung erfolgt gemäß dem Protokoll OAUTH 2.0.

Ähnliches Projekt geplant?

Senden Sie ihre Anforderungen und erhalten Sie eine profunde Einschätzung Anfrage senden
Rodion-L
Rodion Account Manager

Ergebnis

Das Gerät ist bereit für die Massenproduktion

Softeq overhauled the software to solve connection and stability issues. As a result:

  • All calls reach end customers
  • Each client connection is live
  • The system is always available and works flawlessly
  • The data is consistent and all back ends keep the same data
  • A WebSocket connection is always live
  • The product is currently on the market

The client will continue working with Softeq to upgrade the solution with new features, e.g., developing a remote assistance app for Google Play and adapting the solution to new glasses models.