Distributed Data Synchronization via Multi-Data Center Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for real-time data synchronization across multiple devices and geographically distributed data centers face challenges in replicating application state for redundancy, ensuring low latency, and automatically synchronizing data on mobile devices, particularly in mission-critical applications with diverse user bases.

Innovation Solution

A system that synchronizes data across multiple data centers by replicating application objects among them and sending updates to subscribing clients via various channels, allowing automatic notification and synchronization without requiring intervening requests, using a hierarchical data structure and transaction IDs or time tokens for consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a single data center hosts the backend store for real-time data sync, then synchronization speed is improved, but availability and latency for geographically distributed users deteriorate

Engineering Contradiction:
Improvesynchronization speedVSAvoidavailability for distributed users
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system segments the centralized backend store into multiple distributed data centers, each maintaining a local copy of the backend store. This allows users to connect to the nearest data center for low-latency access while maintaining data consistency across all locations through inter-data-center synchronization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds a geographic dimension to data center deployment, creating a multi-dimensional architecture where data is replicated across different geographic locations. This enables users to access the system from any location with optimized latency based on their geographic proximity to a data center.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If application state is replicated across multiple data centers for redundancy, then reliability is improved, but synchronization complexity increases

Engineering Contradiction:
ImproveredundancyVSAvoidsynchronization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The backend store is designed as a universal system that can be replicated across multiple data centers with identical functionality. Each data center's backend store can independently serve local users while automatically synchronizing with other data centers, eliminating the need for complex custom synchronization logic at each location.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements automatic feedback mechanisms where data centers continuously monitor and synchronize their backend stores with each other. When changes occur in one data center, the system automatically detects and propagates these changes to other data centers, maintaining consistency without manual intervention.

Inventive Principle:
Principle #23Feedback

3Loss of information

If clients periodically check for updates, then data consistency is maintained, but latency and bandwidth consumption increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization latency
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

Instead of clients periodically requesting updates from the server, the system inverts the approach by having the server actively push updates to clients. The backend store publishes change notification messages to channels that automatically notify subscribed clients of any data changes, eliminating the need for continuous client polling.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The system prepares and maintains update information in advance at the data center before clients need it. Change notification messages are published to channels as soon as data changes occur, so when clients check for updates, the information is already ready and waiting, eliminating waiting time.

Inventive Principle:
Principle #10Preliminary action

4Speed

If automatic push notifications are implemented, then synchronization speed is improved, but system complexity and resource consumption increase

Engineering Contradiction:
Improvesynchronization speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The backend store is designed to automatically publish change notification messages to channels without requiring external intervention. The system self-manages the entire push notification process, including detecting changes, formatting notifications, and delivering them to subscribed clients, reducing the complexity burden on client applications.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9955444B1Data synchronization across multiple devices connecting to multiple data centers
Publication Date: 2018.04.24 PUBNUB INC
  • US9955444B1 patent drawing
  • US9955444B1 patent drawing
  • US9955444B1 patent drawing

AI summary

A system synchronizes data across multiple data centers to geographically distributed clients may receive current versions of the objects (or portions of objects) from whatever data center is closest to the client. When one of the data centers receives an application object from a first client, it may save the application object in a data collection at that data center. It may also send the application object to other data centers so that the application object is replicated among each of the other data centers. Each of the data centers will relay the updates to the other data centers subscribing clients via various channels, while at least some of the data centers will make the updates available to clients who request the updates. Optionally, the data centers also may publish change notification messages to the channels.