Viele Echtzeit- und verteilte Anwendungen pflegen einen gemeinsamen "Szene"- oder Weltzustand: eine Sammlung von Entitäten und deren Attributen, die über mehrere Prozesse oder Dienste hinweg aktualisiert und beobachtet werden müssen. Gängige Beispiele sind digitale Zwillinge, Simulations-Dashboards, Überwachungsvisualisierungen und Online-Steuerungssysteme. Naive Designs verlassen sich häufig auf ad-hoc Nachrichtenformate und Vollzustandsübertragungen, die Produzenten und Konsumenten eng koppeln, Bandbreite verschwenden und es erschweren, die Korrektheit zu beurteilen, wenn Updates verzögert, dupliziert oder umsortiert werden. Dieses Papier schlägt Distributed Scene Update (DSU) vor, ein Middleware-Muster und Datenmodell für partielle Echtzeitzustandssynchronisation. DSU behandelt alle Anwendungsänderungen als Strom deklarativer Szenenupdates anstelle von imperativen Befehlen. Jedes Update ist eine kleine, eigenständige Beschreibung dessen, was in der globalen Szene geändert werden soll, zusammen mit Identifikatoren und Versionsmetadaten, die Zusammenführung, Idempotenz und Konfliktauflösung ermöglichen. Wir formalisieren das DSU-Modell, bieten Merge-Semantik für das Anwenden von Updates auf eine kanonische Szene und beschreiben eine transport-agnostische Middleware-Architektur (z. B. kompatibel mit Publish/Subscribe-Nachrichtensystemen oder RPC). Danach analysieren wir Korrektheitseigenschaften wie Konvergenz bei mindestens-einmaliger Zustellung und diskutieren Performance-Trade-offs bei Update-Granularität, Batching und Indexierung. Abschließend skizzieren wir eine Referenzimplementierung und einen Evaluationsplan basierend auf einem Echtzeit-Multi-Service-Simulations-Dashboard. Wir veranschaulichen das Modell anhand eines laufenden Beispiels mit einer simulierten Fahrzeugentität. DSU zielt darauf ab, eine wiederverwendbare Abstraktion bereitzustellen: Entwickler konzentrieren sich darauf, was in der Szene geändert werden muss, während die Middleware die konsistente und effiziente Verbreitung dieser Änderungen in einem verteilten System sicherstellt.
Robert Guy (Fr.,) untersuchte diese Fragestellung.