AR-wearable-device-for-field-workers-header

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
nda-logo-white

An international electronics company and one of the leaders in manufacturing information and imaging-related equipment.

Case Highlights

  • Maintains the system’s stability when the number of requests increases
  • Excludes system errors and server reboots
  • Guarantees successful calls, even with growing back-end loads
  • Consistently replicates the data across all connected back ends
Projektinformationen
Kooperationsmodell

T&M (Zeit und Material)

Methode

Scrum

Team
5

Software-Entwickler

1

Project Manager

2

Business-Analysten

1

UI Designer

1

Projektleiter

Mehr anzeigen

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

Software-for-an-AR-Wearable-Device-for-Field-Workers
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
Igor-K
Igor Account Manager

Ergebnis

Das Gerät ist bereit für die Massenproduktion

Softeq überarbeitete die Software, um Probleme zu lösen, die die Verbindung und die Stabilität betrafen. Das Ergebnis:

  • Alle Anrufe erreichen die Endkunden.
  • Jede Client-Verbindung ist live.
  • Das System ist immer verfügbar und funktioniert einwandfrei.
  • Die Daten sind einheitlich und alle Backends haben die gleichen Daten.
  • Eine WebSocket-Verbindung ist immer live.
  • Das Produkt ist auf dem Markt.

Der Kunde wird weiterhin mit Softeq zusammenarbeiten, um die Lösung um neue Funktionen zu erweitern, z. B. Fernhilfe-App für Google Play und Updates für die Lösung, um sie an neue Modelle von AR-Brillen anzupassen.