Client-Server Synchronization Restart Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional synchronization processes between clients and servers often require unnecessary re-transmission of data when interrupted, leading to inefficiencies in server, client, and network resource usage.

Innovation Solution

The system allows clients to request a restart of synchronization from the point of interruption, with the server determining if data is available in a memory cache or database to resume transmission from that point, or initiating a new sync if not available.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server re-transmits all data from the beginning after sync interruption, then the client can ensure complete data receipt, but server, client and network resources are wasted due to unnecessary re-transmission of already received data

Engineering Contradiction:
Improvedata receipt completenessVSAvoidserver, client and network resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The synchronization data is divided into discrete units (sync data units) that can be individually tracked and transmitted. The client maintains information about which specific units were successfully received, allowing the server to segment the re-transmission process and send only the missing units rather than all data from the beginning.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client performs preliminary actions by tracking and recording which sync data units were successfully received before interruption. This information is stored and used during re-synchronization to determine the exact starting point, eliminating the need to re-transmit already received data and thus reducing resource waste.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the server re-transmits all data from the beginning after sync interruption, then the client receives complete data, but the synchronization time is extended due to unnecessary re-transmission

Engineering Contradiction:
Improvedata receipt completenessVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The sync data is segmented into trackable units, enabling the system to identify exactly which units need re-transmission. This segmentation allows the synchronization process to skip already received portions and resume only from the interruption point, significantly reducing the time required compared to re-transmitting all data from the beginning.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The client provides feedback to the server about which sync data units were successfully received during the initial synchronization. This feedback mechanism enables the server to adjust the re-synchronization process by sending only the missing units, thereby reducing the overall synchronization time while maintaining data completeness.

Inventive Principle:
Principle #23Feedback

3Loss of energy

If the client tracks and requests restart from the last received point, then resource usage is optimized, but the system complexity increases due to tracking and coordination requirements

Engineering Contradiction:
Improveserver, client and network resource consumptionVSAvoidsynchronization tracking and coordination mechanism
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The client performs self-service by autonomously tracking which sync data units were successfully received and automatically generating restart requests at the appropriate point in the synchronization process. This self-service approach reduces the need for complex server-side tracking and coordination, optimizing resources while managing complexity through client-side autonomy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7779299B2Efficiently re-starting and recovering synchronization operations between a client and server
Publication Date: 2010.08.17 SYBASE INC
  • US7779299B2 patent drawing
  • US7779299B2 patent drawing
  • US7779299B2 patent drawing

AI summary

Systems, methods and computer program products for efficiently re-starting and/or recovering interrupted synchronizations between a client and a server are described herein. A server transmits sync data to a client during a synchronization operation. The sync is interrupted for some reason prior to the client receiving all of the sync data. The client sends to the server a request to re-start the synchronization operation. The request includes information that identifies a point in the sync data that was received by the client prior to interruption of the sync. Such information may include (a) information identifying the last data received by the client prior to interruption of the sync; and/or (b) information identifying the next data needed by the client upon re-start of the sync. Thereafter, the server re-starts the sync by transmitting to the client the sync data starting from said point in said sync data identified by said request.