Model Synchronizer for Consistent Redundant GUI Models
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed applications, maintaining consistency across redundant models in a GUI is challenging due to the complexity of updating multiple models, either requiring extensive backend communication or complex GUI capabilities, which can lead to inefficiencies in data synchronization.
Innovation Solution
A model synchronizer component within the GUI listens for application object change events and updates redundant models locally with minimal backend communication, ensuring consistency across multiple models using a Model-View-Controller (MVC) pattern.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If extensive backend communication is used to update redundant models, then model consistency is maintained, but communication overhead and processing time increase
Solution Approach 1:
The system performs preliminary actions by maintaining redundant models locally in the GUI with initial data from the backend. When changes occur, the system uses local eventing mechanisms to propagate updates across redundant models without immediately contacting the backend, thereby maintaining consistency while avoiding excessive communication overhead.
Solution Approach 2:
The system introduces an intermediary mechanism (local eventing system) that sits between the backend and redundant models. This intermediary handles update propagation locally, mediating between backend changes and model updates, thereby reducing direct backend communication while maintaining consistency.
2Reliability
If complex GUI capabilities are implemented to update multiple models, then model consistency is achieved, but GUI structure complexity increases
Solution Approach 1:
The system segments the model update function into independent, loosely-coupled components. Each redundant model is updated through standardized eventing mechanisms rather than complex interdependent code, dividing the complexity into manageable, independent units that can be maintained separately.
Solution Approach 2:
The system creates a universal eventing mechanism that handles updates across all redundant models uniformly. This multi-functional approach replaces complex model-specific update logic with a single standardized process that works across all models, reducing overall GUI structural complexity.
3Measurement precision
If frequent backend reloading is performed to ensure data accuracy, then data freshness is maintained, but system performance and responsiveness decrease
Solution Approach 1:
The system enables self-service by allowing the local GUI to maintain and update its own redundant models using local eventing mechanisms without requiring frequent backend reloading. The system serves itself by propagating changes locally, maintaining data freshness while preserving system performance and responsiveness.
Data Source
AI summary
A computing device hosts a graphical user interface (GUI) of a computer application, the computer application being run on a backend computing platform accessible to the computing device via a network. The GUI includes multiple models in a Model-View-Controller (MVC) pattern, an eventing mechanism, and a model synchronizer. Each model in the GUI represents one or more application objects of the computer application. The eventing mechanism generates an application object change event when an application object of one of the multiple models in the GUI is changed to a new state. The model synchronizer listens to the generated application object change event, retrieves the new state of the application object, and locally updates other models of the multiple models in the GUI that also represent the application object with the new state of the application object.


