Windowed Writes for Messaging Data Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current social networking systems face inefficiencies in data synchronization across devices, particularly in managing media content updates, which consume significant processing resources and bandwidth due to the need for persistent connections and frequent notifications.

Innovation Solution

Implementing a system that maintains synchronization entries on a per-user basis, controlling when and how devices provide and receive updates by using a write window to limit the frequency of notifications, thereby reducing the number of write notifications and increasing the efficiency of data synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If persistent connections and frequent notifications are used to synchronize media content updates across devices, then data synchronization reliability is improved, but processing resource consumption and bandwidth usage increase significantly

Engineering Contradiction:
Improvedata synchronization reliabilityVSAvoidprocessing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements a write window mechanism that periodically allows content updates to be propagated to devices, rather than notifying devices immediately with every content change. The system accumulates content updates during the write window period and then performs batched synchronization, converting continuous notification traffic into periodic synchronization events. This reduces the frequency of notifications and read requests while maintaining data consistency across devices.

Inventive Principle:
Principle #19Periodic action

2Loss of information

If write notifications are sent for every content update to ensure devices receive all necessary updates, then data synchronization completeness is improved, but the number of notifications and read requests increases

Engineering Contradiction:
Improvedata synchronization completenessVSAvoidnotification processing efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent merges multiple content updates that occur within the same write window into a single synchronization operation. Instead of sending individual notifications for each content change, the system combines multiple updates and delivers them together in one batched read request response. This merging approach ensures all necessary updates are transmitted while significantly reducing the total number of notification events and read requests that need to be processed.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of time

If frequent synchronization checks are performed to ensure devices have latest content, then data freshness is improved, but bandwidth consumption and device overhead increase

Engineering Contradiction:
Improvedata freshnessVSAvoidbandwidth consumption
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by pre-fetching and buffering content updates on the server side during the write window period before devices request them. When a device performs a synchronization check, the content is already prepared and ready for immediate transmission, eliminating the need for repeated validation requests. This preliminary preparation reduces the frequency and intensity of synchronization traffic while ensuring devices receive fresh content efficiently.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11561783B2Windowed writes
Publication Date: 2023.01.24 SNAP INC
  • US11561783B2 patent drawing
  • US11561783B2 patent drawing
  • US11561783B2 patent drawing

AI summary

Systems and methods are provided for synchronizing data. The systems and methods include operations for: storing a synchronization entry for a messaging application feature, the synchronization entry comprising a last update timestamp associated with a first update to content of the messaging application feature received from a first source; receiving a second update to the content of the messaging application feature from the first source; determining that the second update was received within a write window of the last update timestamp; in response to determining that the second update was received within the write window of the last update timestamp, preventing updating the last update timestamp; and sending the first update and the second update to a client device in response to receiving a synchronization request from the client device based on the last update timestamp.