Client Pull Backup for Group Chat Data Freshness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing group-based communication systems experience a loss of functionality when the real-time messaging communication connection between client devices and servers is interrupted, leading to stale object data and compromised application performance.
Innovation Solution
The system establishes a secondary client-pull-based communication connection with a different server to request and utilize tail data payloads, ensuring minimum interface functionality is maintained even during interruptions in the real-time messaging connection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If the system relies solely on real-time push-based messaging connections for data updates, then data freshness is improved, but functionality is lost when the connection is interrupted
Solution Approach 1:
The system pre-requests tail data payloads from the second server before the real-time connection is interrupted. This preliminary action ensures that data is available locally when the push-based connection fails, maintaining functionality without compromising data freshness.
Solution Approach 2:
A second server providing tail data payloads acts as an intermediary backup mechanism. When the primary real-time messaging server is unavailable, this intermediary source provides the necessary data to maintain system functionality.
2Loss of information
If the system requests more updated object data from the second server during connection interruption, then data freshness is improved, but communication overhead increases
Solution Approach 1:
The system requests more updated object data than strictly necessary (excessive action) from the second server. This ensures data freshness is maintained without requiring complex real-time synchronization logic, and the additional data requests are acceptable given the backup nature of this communication channel.
3Reliability
If the system maintains a backup communication connection for polling data, then reliability is improved, but device complexity increases
Solution Approach 1:
The communication system is segmented into two distinct components: a primary real-time push-based connection for normal operation and a secondary pull-based connection for backup. This segmentation allows each connection to be optimized independently and simplifies the management logic for each individual connection.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
The present system discloses a method of providing near real-time interface functionality to a group-based communication system when it is determined that a real-time messaging communications connection is interrupted, the method comprising receiving, from a first remote server and by a client device, real-time updated object data for the group-based communication system; transmitting, by the client device to a second remote server, client-pull-based requests to request tail data payloads; receiving, by the client device from the second remote server, a tail data payload for each of one or more object identifiers; and in response to detecting an interruption in the real-time messaging communications connection, rendering a subsequent group-based communications interface on the client device using at least a subset of the tail data payloads.