Snapshot Message Storage for Push Connection Failures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing push technology in mobile communication services faces challenges in delivering messages when a persistent connection between a mobile device and the push platform is unavailable, such as when the device is turned off or out of range, leading to failed message delivery.
Innovation Solution
The proposed solution involves storing snapshots of undelivered messages in a database for later delivery when the persistent connection is restored, using a push controller to determine registration status and manage message queuing systems to ensure delivery of real-time or near real-time data to mobile devices once connectivity is reestablished.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If push technology is used to deliver messages in real-time, then message delivery timeliness is improved, but delivery reliability deteriorates when persistent connection is unavailable
Solution Approach 1:
The system performs preliminary actions by storing undelivered messages in a database (snapshot mechanism) before the connection is lost. When the persistent connection is restored, these pre-stored messages are automatically retrieved and delivered, ensuring both real-time delivery capability and reliability during connection interruptions.
Solution Approach 2:
The database serves as an intermediary between the push engine and the mobile device. It buffers messages during connection failures, allowing the system to maintain both real-time delivery (when connected) and reliability (when disconnected) by mediating the delivery process through persistent storage.
2Device complexity
If polling technique is used to check for messages, then device simplicity is maintained, but message delivery delay increases and unnecessary polling consumes resources
Solution Approach 1:
The push engine maintains a feedback mechanism through the persistent connection, continuously monitoring for new messages and automatically pushing them to the device without requiring the device to poll. This eliminates delivery delays while the server-side architecture maintains simplicity.
Solution Approach 2:
Instead of the device actively polling the server for messages, the system inverts the approach by having the server actively push messages to the device when they become available. This inversion eliminates the delay inherent in polling while maintaining simplicity through server-initiated delivery.
3Speed
If persistent connection is maintained for push delivery, then message delivery speed is improved, but connection stability deteriorates when device is offline or out of range
Solution Approach 1:
The system prepares for connection instability by storing messages in the database snapshot mechanism. When the persistent connection is interrupted due to device offline or out of range conditions, the system has already prepared the messages for later delivery, maintaining both fast delivery (when connected) and stability (when disconnected).
Solution Approach 2:
The database snapshot mechanism provides beforehand cushioning against connection failures. By buffering messages in advance during connection outages, the system cushions the impact of connection instability while maintaining high delivery speed when the connection is available.
Data Source
AI summary
A system allows for storage of failed push data intended for delivery to a mobile device through a mobile network via a persistent connection between the mobile device and a push engine. Delivery of the push data fails upon failure of the persistent connection. Upon failure of the persistent connection, failed push data corresponding to applications for which the mobile device is registered is stored in a database. Failed push data stored in the database is delivered when the persistent connection is reestablished.


