Synchronization System for Client Update Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current client-server architectures face inefficiencies in communicating real-time or near real-time updates, particularly in scenarios with sporadic updates, leading to resource wastage and potential missed updates due to client polling methods, and server resource exhaustion from maintaining persistent web sockets for numerous clients.
Innovation Solution
An intermediate synchronization system is introduced between the server and client, which receives update notifications from the server and forwards them to connected clients, allowing clients to query for updates only when necessary, reducing server load and network bandwidth usage while maintaining secure communication through update identifiers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If client polling is used to check for updates, then clients can receive updates, but network bandwidth is wasted and server resources are consumed for sporadic updates
Solution Approach 1:
An intermediate synchronization system is introduced between the server and clients. The server sends update notifications to the synchronization system, which then pushes updates to interested clients. This mediator architecture allows clients to receive updates without continuously polling the server, reducing network bandwidth waste while maintaining reliable update delivery.
2Speed
If persistent web sockets are maintained for numerous clients, then real-time updates can be delivered, but server resources are exhausted
Solution Approach 1:
The system segments the client connection management by introducing a synchronization system that handles multiple clients independently from the server. The server only maintains connections to the synchronization system, while the synchronization system manages individual client connections. This segmentation allows real-time update delivery without exhausting server resources.
3Reliability
If clients continuously poll for updates, then updates are received, but resource wastage occurs for sporadic updates
Solution Approach 1:
Instead of continuous periodic polling, the system uses event-driven periodic action where the synchronization system pushes updates to clients only when changes occur. The server notifies the synchronization system of updates, which then pushes to clients. This eliminates wasted resources while maintaining reliable update reception through on-demand actions.
4Duration of action of moving object
If server maintains active connections for all clients, then real-time communication is possible, but server load increases
Solution Approach 1:
The synchronization system acts as an intermediary that maintains connections with clients independently of the server. The server only needs to maintain a single connection to the synchronization system, while the mediator handles multiple client connections. This allows long-duration connection persistence for real-time communication without increasing server energy consumption.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for receiving an update generated on a server computing device at a client device. The method comprising receiving, from a synchronization system that is independent of the server computing device, an update notification (602) at the client device, the update notification comprising a unique identifier of an item associated with the update. The method comprising generating and forwarding an update data request (610) to the server computing device, the update data request comprising the unique identifier of the item associated with the update and a unique identifier of a user associated with the client device. The method comprising receiving update data (612) associated with the update from the server computing device and updating a user interface of the client device to display a graphical output associated with the update.