Accounting Data Synchronization via On-Demand Change Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing synchronization tools for accounting data between client and server, such as QuickBooks Web Connector, lack the ability for a Web service to initiate a synchronization operation on demand and do not allow developers to automatically initiate a synchronization operation from the client computer via programming code, leading to inefficiencies in notifying the server of changes on the client.

Innovation Solution

A method and system for real-time synchronization of accounting data between a client and server, which includes detecting changes in both databases, maintaining database relationships, handling conflict resolution, and initiating synchronization manually or automatically using a TCP/IP connection, ensuring that changes are reflected in both systems without waiting for timed intervals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If synchronization is initiated only at timed intervals, then the system is simple to implement, but the synchronization efficiency and responsiveness to changes deteriorate

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by establishing event listeners and change detection mechanisms in advance on the client side. When changes occur in the accounting database, the system is already prepared to detect and respond to these changes immediately, rather than waiting for scheduled synchronization intervals. This preliminary preparation enables on-demand synchronization triggered by actual data changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the client continuously monitors for changes in the accounting database and provides feedback to the synchronization system. When changes are detected, the system receives feedback signals that trigger immediate synchronization operations. This feedback loop ensures the server is notified promptly of any client-side changes, improving synchronization responsiveness without requiring complex manual intervention.

Inventive Principle:
Principle #23Feedback

2Reliability

If the client continuously monitors for changes and notifies the server, then the data integrity improves, but the bandwidth consumption and server processing increase

Engineering Contradiction:
Improvedata integrityVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system extracts only the specific accounting objects that have changed since the last synchronization and transmits only these changed objects to the server. Rather than continuously transmitting all data or maintaining constant communication channels, the system identifies and extracts only the minimal necessary data (changed accounting objects) for synchronization, thereby reducing bandwidth consumption while maintaining data integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies partial action by performing synchronization only for the specific accounting objects that have changed, rather than synchronizing all objects continuously. The client monitors for changes and triggers synchronization only when necessary, performing partial synchronization operations targeted at specific changed objects. This approach maintains data integrity for all objects while consuming minimal bandwidth by acting only on changed portions.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all accounting objects are synchronized, then data consistency is ensured, but the processing time and server load increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs partial synchronization by identifying and synchronizing only the specific accounting objects that have changed since the last synchronization operation. The client tracks which objects have been modified and transmits only these changed objects to the server for updating. This partial action approach ensures data consistency for all accounting objects while significantly reducing synchronization time and server processing requirements compared to synchronizing all objects continuously.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system segments the synchronization process by dividing accounting objects into categories based on their change status. Instead of treating all accounting objects uniformly, the system segments them into changed and unchanged groups, and only processes the changed segment for synchronization. This segmentation enables targeted synchronization that maintains overall data consistency while minimizing processing time and server load by excluding unchanged objects from the synchronization operation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8589510B2Method and system of synchronizing accounting objects between a client and server
Publication Date: 2013.11.19 METHOD INTEGRATION
  • US8589510B2 patent drawing
  • US8589510B2 patent drawing
  • US8589510B2 patent drawing

AI summary

A method and system of synchronizing accounting objects between a client and server are provided. In accordance with one embodiment, there is provided a method for use on a server of synchronizing data between a client accounting database on a client computer and the server accounting database on the server, the client computer and server being connected over a communication network by a persistent connection, each of the client accounting database and server accounting database comprising a number of tables, wherein accounting objects are defined by a group of one or more related records in one or more tables in the client accounting database and server accounting database.