Selbstheilende Services in MaaS-Anwendungen
Automatisierte Kommunikation zwischen digitalen Akteuren kann zu unerwarteten Fehlern führen. Diese können wegen inkonsistenten oder falsch formatierten Daten oder aufgrund von Netzwerkproblemen auftreten, wie einem nicht erreichbaren Dienst oder anderen Problemen, die sich in Fehlercodes niederschlagen. Die Handhabung dieser Fehler hängt von der jeweiligen Situation ab. Oft geht es darum, ob der Fehlercode einfach weitergegeben werden soll, beispielsweise an Nutzer, oder ob versucht werden soll, den Fehler automatisch zu beheben, etwa durch das erneute Senden einer fehlerhaften Serveranforderung.
Die Entscheidung für die Implementierung von Selbstheilungsmechanismen kann eine strategische Entscheidung sein, um die Auswirkungen von Fehlern zu mildern und sicherzustellen, dass das System auch bei Fehlern zuverlässig weiterarbeitet. Das Design solcher selbstheilenden Systeme erfordert jedoch sorgfältige Planung und gründliche Tests, um sicherzustellen, dass sie sich wie erwartet von Ausfällen und Fehlern erholen können. Es stehen eine Vielzahl von Mechanismen zur Verfügung, von automatischen Failovers und Redundanzprüfungen bis hin zu automatischen Wiederholungsmechanismen.
Typische Fehlerquellen bei MaaS-Anwendungen
Im Bereich der Mobility as a Service (MaaS) Anwendungen ist der Umgang mit unerwarteten Fehlern eine Herausforderung. Besonders das Bewegen von Fahrzeugen und das Abstellen an Orten mit schlechter Netzabdeckung führen zu potenziellen Fehlerquellen. Eine zuverlässige MaaS-Plattform muss diese bewältigen können, um die Benutzererfahrung nicht zu beeinträchtigen. Zum Beispiel kann es frustrierend sein, wenn ein Kunde versucht, über eine App mit einem Fahrzeug zu interagieren (zum Abrufen von Informationen oder zum Beenden einer Buchung) und lediglich eine Fehlermeldung mit der Aufforderung erhält, es später erneut zu versuchen.
Konkrete Anwendungsfälle in der Smartmove-Plattform, die anfällig für solche Probleme sind, sind das Starten oder Beenden einer Car-Sharing-Fahrzeugbuchung. Das System versucht in diesen Fällen, Informationen über das Fahrzeug einzusehen, um Daten zu erheben oder zu überprüfen, ob ein Fahrzeug korrekt zurückgegeben wird. Beispielsweise muss überprüft werden, ob sich das Fahrzeug bei der Rückgabe am richtigen Ort befindet. Einige dieser Stellplätze befinden sich allerdings in ländlichen Gebieten oder in Tiefgaragen, wo die Internetverbindung möglicherweise nicht verfügbar ist. In solchen Fällen sollte ein Kunde nicht alleine gelassen werden. Die Aufforderung, eine Fahrzeugrückgabe später erneut zu versuchen, ist unzureichend, insbesondere wenn Verspätungsstrafen und höhere Kosten drohen. Stattdessen sollte das Fehlerrisiko minimiert werden. Bei einem auftretenden Fehler sollte der Kunde genau informiert und angemessene Schritte zur manuellen Intervention eingeleitet werden. Dabei sollte immer sichergestellt werden, dass die Fahrzeugrückgabe korrekt erfolgt, und der Kunde sollte sich zu keinem Zeitpunkt alleine gelassen fühlen.
Unser Lösungsansatz in der smartmove-Plattform
Anhand der oben bereits skizzierten Situation der Fahrzeugrückgabe, möchten wir dir zeigen, wie wir in unserer smartmove-Plattform auf potentielle Fehler reagieren. Wie erwähnt, versucht unsere Plattform vor der Rückgabe das entsprechende Fahrzeug zu kontaktieren, um Abstellort, Ladestand und andere vertraglich vereinbarte Rückgabekriterien zu überprüfen.
Bevor wir auf selbstheilende Funktionalität eingehen, möchten wir zeigen, wie wir damit umgehen, wenn sich der Fehler nicht automatisch beheben lässt. Hier haben wir unsere Services so entworfen, dass sie einen manuellen Interventionsprozess begleiten und unterstützen. Tritt die Situation auf, dass unser System das Auto nicht erreichen kann, bitten wir die Benutzerin oder den Benutzer um Hilfe: Wir Fragen nach Fotos des Autos, um z.B. Abstellort und Kilometerstand zu dokumentieren. Gleichzeitig wird die zugehörige Buchung als fehlerhaft markiert, wodurch unser Support-Team alarmiert wird. Diese können dann die eingereichten Bilder nutzen um die Rückgabekriterien manuell zu überprüfen und die Buchung erfolgreich abzuschließen. Alle weiteren Prozesse der smartmove-Plattform, die auf korrekte Informationen der Buchung angewiesen sind, werden bis zu diesem erfolgreichen Abschluss pausiert.
Auch wenn also das Eintreten des Fehlerfalls mit manueller Hilfe und entsprechenden Mechanismen der Plattform gehandhabt werden kann, ist es dennoch ratsam, die Wahrscheinlichkeit des Fehlerfalls zu reduzieren. Daher haben wir Maßnahmen getroffen, die Fehler automatisch ausbessern, also selbst heilen. Im Zuge dessen wurde ein neues Service erstellt, welches periodisch Daten von Fahrzeugen abruft diese speichert. Daher kennen wir zumindest einige Eigenschaften eines Fahrzeugs aus der jüngeren Vergangenheit. Sollte ein Auto plötzlich nicht mehr erreichbar und dessen Position nicht bekannt sein, können wir uns die zuvor gespeicherten Daten ansehen. Falls der zuletzt gespeicherte Datensatz nicht zu alt ist, können wir statt Live-Informationen diese gespeicherten heranziehen.
Darüber hinaus können wir andere Services darüber informieren, wenn ein zuvor unerreichbares Fahrzeug seine Verbindung wiederherstellt. Alle Services, die von Live-Informationen abhängig sind, können dann ihre Operationen fortsetzen, die aufgrund der Verbindungsprobleme des Fahrzeugs ausständig waren.
Wenn eine Buchung also aufgrund von Verbindungsproblemen fehlerhaft markiert ist, überprüfen wir automatisch aufgrund gespeicherter, nicht allzu alter Daten ob das Auto alle Anforderungen erfüllt, um eine Buchung erfolgreich zu beenden. Wenn alle Anforderungen erfüllt sind, entfernen wir die Fehlermarkierung von der Buchung und beenden sie. Ansonsten kommt es zum oben geschilderten Problemlösungsverfahren.
Erfahrungen aus der Umsetzung selbstheilender Services
Die Implementierung der regelmäßigen Fahrzeugdatenspeicherung zur Erholung von Verbindungsproblemen hat weitere Vorteile mit sich gebracht. Allem voran hat sich die User-Experience drastisch verbessert, da nicht mehr in jedem Fehlerfall das Support-Team kontaktiert werden muss, sondern sich das Problem auch selbst lösen kann.
Selbst wenn Fahrzeuge in Garagen mit schlechter Netzabdeckung stehen, passiert es häufig, dass die Verbindung für eine Weile wiederhergestellt werden kann, was mehr als ausreichend ist, um wichtige Informationen über das Auto abzurufen. Dadurch kommt es sehr selten vor, dass Fahrzeuge manuell verlegt werden müssen, um sie wieder in Betrieb zu bringen. Letzten Endes wurden manuelle Aufwände reduziert und die User-Experience sowohl für Kundinnen und Kunden als auch unser Personal verbessert.
Wir sehen uns im nächsten Blogpost!