Model Synchronizer for Consistent Redundant GUI Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemodel consistencyVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If complex GUI capabilities are implemented to update multiple models, then model consistency is achieved, but GUI structure complexity increases

Engineering Contradiction:
Improvemodel consistencyVSAvoidGUI structure
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If frequent backend reloading is performed to ensure data accuracy, then data freshness is maintained, but system performance and responsiveness decrease

Engineering Contradiction:
Improvedata freshnessVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10606706B2Graphical user interface with consistent redundant models
Publication Date: 2020.03.31 SAP SE
  • US10606706B2 patent drawing
  • US10606706B2 patent drawing
  • US10606706B2 patent drawing

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.