Distributed Shared Memory for Device Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing front-end application synchronization techniques are computationally expensive and inefficient, particularly in near real-time scenarios, as they often rely on centralized data persistence and complex algorithms, leading to increased load on servers and devices, and require pixel-by-pixel data transmission or turn-based user interactions.
Innovation Solution
A distributed shared memory system that uses event-based synchronization to maintain multiple instances of front-end applications across compute devices, allowing for near real-time updates without a central master copy, reducing computational costs by processing data locally and eliminating the need for complex collision avoidance techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If centralized data persistence is used to maintain application state across devices, then synchronization reliability is improved, but server load and computational cost increase
Solution Approach 1:
The system segments the centralized persistence model into distributed peer-to-peer connections. Each device maintains its own application state locally and establishes direct connections with other devices, eliminating the need for a centralized server to store and manage all data. This segmentation reduces server load while maintaining synchronization reliability through distributed consensus mechanisms.
Solution Approach 2:
The system implements local quality by allowing each device to maintain its own copy of the application state locally rather than relying on centralized storage. Each device independently manages its local state and propagates changes to connected peers, reducing the computational burden on central servers while ensuring data availability and synchronization reliability.
2Manufacturing precision
If pixel-by-pixel data transmission is used to synchronize screen content, then visual synchronization accuracy is improved, but bandwidth consumption and processing time increase
Solution Approach 1:
The system extracts only the essential state data from the application rather than transmitting complete pixel-by-pixel screen content. By identifying and transmitting only the critical state variables that define the application's visual output, the system achieves accurate visual synchronization with minimal data transmission, reducing both bandwidth consumption and synchronization delay.
Solution Approach 2:
Instead of transmitting original pixel data, the system creates and transmits compact copies of the application state that can be reconstructed into visual content at the receiving end. This copying approach maintains visual synchronization accuracy while dramatically reducing the amount of data that needs to be transmitted compared to pixel-by-pixel transmission.
3Stability of the object's composition
If complex collision avoidance algorithms are implemented to prevent action conflicts in collaborative applications, then data consistency is improved, but computational complexity and processing overhead increase
Solution Approach 1:
The system implements dynamic conflict resolution by allowing multiple devices to operate independently with their own state changes, and only resolving conflicts when necessary through peer-to-peer negotiation. Rather than using static complex algorithms to prevent all possible conflicts, the system dynamically resolves only the actual conflicts that arise, reducing computational complexity while maintaining data consistency.
Solution Approach 2:
Each device performs self-service by independently managing its own state changes and only engaging in conflict resolution when its changes conflict with other devices. This self-service approach eliminates the need for complex centralized conflict avoidance algorithms, as each device handles its own conflicts locally through simple negotiation protocols with its peers.
4Reliability
If turn-based interaction rules are used to coordinate user actions, then action collision prevention is improved, but user interaction responsiveness and real-time collaboration capability deteriorate
Solution Approach 1:
The system inverts the traditional turn-based approach by allowing all users to interact simultaneously without enforced turns. Instead of preventing collisions through sequential access, the system allows parallel interactions and resolves conflicts through distributed consensus mechanisms, thereby maintaining action collision prevention while dramatically improving collaboration efficiency and real-time responsiveness.
Data Source
AI summary
In some embodiments, an apparatus includes a memory having an instance of a distributed shared memory and a processor operatively coupled to the memory. The processor is configured to instantiate a first instance of a front-end application and receive, at the first instance of the front-end application, and input signal associated with a state of the first instance of the front-end application. The processor is configured to insert a value into a field data structure defined in the instance of the distributed shared memory and associated with an event source configured through a second instance of the distributed shared memory. The processor is configured to generate an event object indicative of the value inserted into the field data structure and send a signal to update the second instance of the front-end application.


