Database Synchronization Using Dependency Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data synchronization methods for portable electronic devices over wireless networks lack a clear definition of dependencies between databases, leading to difficulties in maintaining the correct order and priority during synchronization, especially when multiple databases are involved.

Innovation Solution

The use of a directed acyclic graph to represent database dependencies allows for the determination of which databases to synchronize first based on their dependencies and size, ensuring that databases with no dependencies are synchronized first and smaller databases are prioritized to maximize synchronization efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If databases are assigned priority levels for synchronization order, then the synchronization process can be structured, but it becomes difficult to keep track of order and priority when several databases are present

Engineering Contradiction:
Improveease of tracking database synchronization orderVSAvoidcomplexity of managing multiple database priorities
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent transitions from a one-dimensional priority level assignment to a two-dimensional dependency graph representation. Each database is represented as a node with dependencies visualized as directed edges, adding a dimensional aspect to the synchronization structure. This graphical representation in another dimension (visual/spatial) makes it easier to track and manage complex inter-database dependencies without increasing operational complexity.

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

2Productivity

If databases are synchronized without considering dependencies, then the synchronization process is simpler, but databases with dependencies may not be restored in the desired order

Engineering Contradiction:
Improvesynchronization speedVSAvoidcorrectness of synchronization order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary analysis of database dependencies before the actual synchronization process. The dependency graph is constructed and analyzed in advance to determine the correct synchronization order. This preliminary action ensures that the synchronization process can proceed efficiently in the correct order without requiring complex real-time dependency checking, thus maintaining both productivity and reliability.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If all databases are synchronized simultaneously, then the total synchronization time is reduced, but the dependencies between databases cannot be respected

Engineering Contradiction:
Improvetotal synchronization timeVSAvoidprecision of dependency order
Core Design Contradiction:
Loss of timeVSManufacturing precision

Solution Approach 1:

The patent segments the synchronization process into multiple independent batches based on the dependency graph analysis. Databases are grouped into synchronization batches where all databases in a batch have no unmet dependencies. This segmentation allows parallel execution of independent batches (reducing total time) while ensuring that within each batch, the dependency precision is maintained. The segmentation transforms a sequential process into a partially parallel one without sacrificing dependency correctness.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7478118B2Method and apparatus for synchronizing of databases connected by wireless interface
Publication Date: 2009.01.13 MALIKIE INNOVATIONS LTD
  • US7478118B2 patent drawing
  • US7478118B2 patent drawing
  • US7478118B2 patent drawing

AI summary

A method for synchronizing databases at a portable electronic device with corresponding databases at a second electronic device, the method including determining which one of the databases at the portable electronic device is to be synchronized based on a directed acyclic graph representing database dependencies, and synchronizing the one of the databases at the portable electronic device with a corresponding one of the databases at the second electronic device.