Read-Watermark Increment Logic for Reliable Message Status
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing messaging systems face inefficiencies and network bandwidth issues when displaying read-receipts and watermarks, leading to unreliable indication of message delivery and reading status, particularly in ephemeral messaging sessions.
Innovation Solution
A system that automatically increments read-watermarks based on predefined rules and criteria, using a database to track message reading status without frequent device interactions, by applying identification numbers to data objects and detecting trigger events to update read-watermarks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent database write requests and network interaction are used to display read-receipts and watermarks, then message delivery status can be tracked, but network bandwidth is consumed and system reliability decreases
Solution Approach 1:
The system performs preliminary actions by storing message delivery status and read status in the database before actual read-receipt display is needed. This allows the system to have read-receipt information ready when needed, eliminating the need for frequent real-time database writes and network interactions during the actual display process.
Solution Approach 2:
The system creates copies of message delivery status data by storing it in the database in advance. Instead of continuously querying the current status from the source, the system maintains replicated copies of the status information, which can be retrieved efficiently when read-receipts need to be displayed, reducing network bandwidth consumption.
2Measurement precision
If frequent database write requests are made to update read-watermarks, then message reading status can be tracked accurately, but device complexity and operation difficulty increase
Solution Approach 1:
The system performs preliminary actions by pre-storing message delivery status and read status in the database. This allows the system to determine reading status by comparing stored identification numbers without requiring complex real-time operations or frequent database writes, simplifying the overall system operation while maintaining accurate tracking.
Solution Approach 2:
The system implements feedback by comparing the stored identification number of the last read message with the current message identification numbers. This feedback mechanism automatically updates the read-watermark position without requiring manual intervention or complex operations, maintaining measurement precision while easing operation.
3Reliability
If continuous device communication is used to maintain read-watermarks, then reading status can be accurately indicated, but network bandwidth is consumed and system complexity increases
Solution Approach 1:
The system creates copies of reading status data by storing message delivery and read status information in the database. Instead of requiring continuous communication with the original source system, the system uses these stored copies to maintain accurate read-watermarks, reducing both network bandwidth consumption and communication protocol complexity.
Solution Approach 2:
The system implements self-service by automatically determining read-watermark positions through comparison of stored identification numbers. The system serves itself by using its own stored data to maintain reading status indicators without requiring continuous external communication or complex coordination protocols.
Data Source
AI summary
A system to automatically increment read-watermarks based on a set of predefined rules and criteria and configured to perform operations that include: accessing a message thread that comprises a plurality of messages; detecting a display of a message from among the plurality of messages at a client device, the message corresponding with an identification number from among a plurality of sequentially assigned identification numbers associated with the plurality of messages; applying the identification number that corresponds with the message from among the plurality of messages to a data object within a database associated with the message thread, the data object indicating a most recent message read by a user of the client device based on the identification number; detecting a trigger event; and automatically incrementing the identification number associated with the data object within the database responsive to the trigger event.


