Client Data Synchronization via Version Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems for synchronizing content generated by client applications are inefficient in terms of network and computational resources, as they send more data than necessary to update client devices, leading to delays in content accessibility and responsiveness.

Innovation Solution

A server system that maintains version data of content updates and sends only the minimum required data to client devices, allowing them to synchronize content in the background without user interaction, and stores content on both client devices and the server, ensuring that client devices have the latest version available upon opening.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional systems send all content data to client devices for synchronization, then data consistency is maintained, but network resource usage increases and content accessibility delays occur

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork resource usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts and transmits only the essential version identifier data instead of complete content data. The client device receives minimal version data from the server, compares it with local version data, and determines synchronization needs based on this extracted information, thereby reducing network resource consumption while maintaining data consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The synchronization process is segmented into distinct phases: version data transmission, version comparison, and selective content synchronization. By dividing the synchronization into these segments, the system transmits only necessary version information first, then selectively synchronizes only the content that requires updating, reducing overall network usage.

Inventive Principle:
Principle #1Segmentation

2Reliability

If conventional systems send all content data to client devices, then data completeness is ensured, but content accessibility speed decreases

Engineering Contradiction:
Improvedata completenessVSAvoidcontent accessibility speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The server performs preliminary action by transmitting version data ahead of complete content data. The client device uses this preliminary version information to determine what content needs synchronization, allowing it to prepare for and receive only the necessary content updates, thereby speeding up content accessibility while ensuring completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of transmitting excessive complete content data, the system uses partial action by sending only version identifiers. This partial transmission is sufficient for the client to determine synchronization needs, achieving data completeness efficiently without the overhead of transmitting all content data unnecessarily.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the system transmits minimal version data only, then network efficiency improves, but the complexity of version comparison logic increases

Engineering Contradiction:
Improvenetwork efficiencyVSAvoidversion comparison logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The client device performs self-service by autonomously comparing received version data with its local version data and determining its own synchronization needs. This self-service approach simplifies the server's role to merely transmitting version information, improving network efficiency while distributing the comparison logic complexity to the client device where it can be handled locally.

Inventive Principle:
Principle #25Self-service

4Loss of information

If conventional systems synchronize content in the foreground, then synchronization visibility is improved, but user interaction requirements increase and responsiveness decreases

Engineering Contradiction:
Improvesynchronization visibilityVSAvoiduser interaction requirements
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

Version data acts as an intermediary between the server and complete content data. The client device uses this intermediary version information to determine synchronization needs in the background without requiring user interaction. This intermediary approach maintains synchronization visibility through version tracking while eliminating the need for user involvement in the synchronization process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11789972B2Data synchronization for content consumed via a client application
Publication Date: 2023.10.17 SNAP INC
  • US11789972B2 patent drawing
  • US11789972B2 patent drawing
  • US11789972B2 patent drawing

AI summary

Systems and methods are provided for data synchronization for client application generated data. Content may be generated by a client application executed by a creator client device and sent to a server system that may distribute the content to one or more additional client devices of recipients of the content. The server system can push content to the recipient client devices without receiving a request for the content from the recipient client devices. The content generated by the creator client device may be stored by each of the creator client device, by the server system, and by the one or more recipient client devices. The server system may also generate version data related to respective versions of content that may be consumed by a client application. The version data may be used by client devices to determine versions of content that may be missing from the client devices.