Database Change Tracking via Row Update Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile databases lack support for database triggers, leading to memory constraints and burdensome overhead in tracking changes, as all data changes must be maintained in memory, limiting the capabilities of mobile applications.

Innovation Solution

A method is introduced where a first column with a row update identifier is added to each database table, and a global update identifier is incremented for each change, with a reference table generated for synchronization events, allowing tracking of updates without relying on database triggers by comparing row update identifiers with synchronization identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database triggers are used to track changes, then change tracking reliability is improved, but device complexity increases (triggers are not supported in mobile databases)

Engineering Contradiction:
Improvechange tracking reliabilityVSAvoiddatabase trigger support
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a copy of the change tracking functionality by implementing manual row-level tracking mechanisms (RowUpdateIdentifier, GlobalUpdateIdentifier) that replicate the behavior of database triggers without requiring actual trigger support. This allows mobile databases to achieve trigger-like change tracking capabilities through application-level code instead of database-level procedural code.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical database trigger system with a software-based identification and tracking system. Instead of using database triggers (a mechanical/database-level mechanism), the invention uses identifier columns and application logic to track changes, substituting the database's procedural execution model with an application-level data tracking model suitable for mobile environments.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If all data changes are maintained in memory, then change tracking capability is improved, but memory consumption increases

Engineering Contradiction:
Improvechange tracking capabilityVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential change tracking information from the entire database state. Instead of maintaining all data changes in memory, the system extracts and stores only the RowUpdateIdentifier and GlobalUpdateIdentifier columns, which contain the minimal necessary information to track changes. This extraction reduces memory requirements while preserving change tracking capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the change tracking function into discrete identifier columns within the database schema itself. By embedding RowUpdateIdentifier and GlobalUpdateIdentifier as columns in each table, the system divides change tracking into granular, table-level segments rather than maintaining a monolithic in-memory representation of all changes. This segmentation allows efficient storage and retrieval with minimal memory overhead.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If row update identifiers are added to track changes, then change tracking precision is improved, but device complexity increases

Engineering Contradiction:
Improvechange tracking precisionVSAvoidschema modification complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent makes the identifier columns serve multiple functions: RowUpdateIdentifier tracks individual row change history, GlobalUpdateIdentifier tracks overall database synchronization state, and together they enable both change detection and synchronization coordination. This multi-functionality reduces the need for separate tracking mechanisms, thereby limiting the increase in device complexity while maintaining high measurement precision.

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

Data Source

PatentUS9128974B2Methods for tracking database changes and devices thereof
Publication Date: 2015.09.08 INFOSYS LTD
  • US9128974B2 patent drawing
  • US9128974B2 patent drawing
  • US9128974B2 patent drawing

AI summary

Methods, devices, and computer-readable storage media for tracking changes in a database including at least one database table include adding a first column to a schema of each database table. The first column includes a row update identifier for each row of the database table. A global update identifier is incremented in response to a row change and recorded as the row update identifier for the changed row. In response to a latest database synchronization event, a reference table including a synchronization update identifier is generated, and the global update identifier is incremented and recorded as the synchronization update identifier. An update to a row in a database table is tracked based at least upon determining that a row update identifier of the updated row in the database table is greater than the synchronization update identifier in the reference table.