Data Proxy Conflict Resolution for Offline Sync

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in providing seamless data synchronization across multiple devices and users, especially in scenarios with intermittent network connectivity, and lack effective conflict resolution mechanisms for collaborative applications.

Innovation Solution

The data proxy service enables immediate synchronization of application data across multiple clients and devices, using optimistic caching and customizable resolvers for data access, and provides built-in conflict resolution mechanisms to manage data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If optimistic caching is used for data synchronization, then data access speed is improved, but data consistency is worsened

Engineering Contradiction:
Improvedata access speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The system implements feedback mechanisms through conflict detection and resolution processes. When data is cached locally, the system continuously monitors for conflicts between local and remote data versions, and automatically resolves them through predefined strategies (last-write-wins, merge, or manual intervention), ensuring data consistency is maintained despite optimistic caching

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The data proxy service acts as an intermediary between the client application and the remote data source. It manages the caching layer, handles conflict detection, and coordinates synchronization, allowing the application to work with cached data locally while maintaining consistency with the remote source through the proxy's mediation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is synchronized across multiple devices with intermittent connectivity, then application availability is improved, but network bandwidth consumption is worsened

Engineering Contradiction:
Improveapplication availabilityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system synchronizes only the specific data items that have changed or are relevant to each device, rather than synchronizing all data. The data proxy tracks modifications at the item level and transfers only necessary data, reducing bandwidth consumption while maintaining application availability across devices with intermittent connectivity

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary actions by caching data locally before connectivity is lost, allowing applications to continue operating offline. When connectivity is restored, only the minimal necessary data updates are synchronized, reducing overall bandwidth consumption while maintaining high application availability

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If conflict resolution mechanisms are added to data proxy, then data integrity is improved, but system complexity is worsened

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The conflict resolution system operates autonomously using predefined strategies such as last-write-wins, merge, or timestamp-based resolution. The data proxy automatically detects conflicts, selects the appropriate resolution strategy, and applies it without requiring manual intervention, maintaining data integrity while keeping the system relatively simple through self-service automation

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11126610B1Conflict resolution in a data proxy
Publication Date: 2021.09.21 AMAZON TECH INC
  • US11126610B1 patent drawing
  • US11126610B1 patent drawing
  • US11126610B1 patent drawing

AI summary

A technology is provided for conflict resolution in a data proxy for a mutation. A mutation may be received at a data proxy from an application, and the data proxy is in a service provider environment. The mutation may be sent to be processed by a data store via a data access resolver. A conflict message may be received at the data proxy via the data access resolver for a conflict mutation at the data store for the mutation. The conflict may be resolved at the data proxy using a conflict resolution function in the data proxy.