Client Pull Backup for Group Chat Data Freshness

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

VSEngineering 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

Engineering Contradiction:
Improvedata freshnessVSAvoidfunctionality during connection interruption
Core Design Contradiction:
Loss of informationVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata freshnessVSAvoidcommunication overhead
Core Design Contradiction:
Loss of informationVSLoss of energy

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.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the system maintains a backup communication connection for polling data, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvefunctionality during connection interruptionVSAvoidcommunication connection management
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3982616B1Maintaining minimum interface functionality in an absence of a push-based communications connection in a group-based communication system
Publication Date: 2025.06.18 SALESFORCE INC
  • EP3982616B1 patent drawingFigure 1
  • EP3982616B1 patent drawingFigure 2A
  • EP3982616B1 patent drawingFigure 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.