Reusable State Tracking for Batched Database Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications experience performance issues due to high volumes of database operations resulting from frequent database calls, and existing state tracking methods in user interfaces require extensive configuration and programming, leading to cumbersome data management during user navigation.

Innovation Solution

A reusable interface and API for tracking state data during a session, categorizing user interface operations as insert, update, or delete objects, and consolidating these operations for batch transmission to the database upon session completion, minimizing database calls and reducing application code complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If web applications update the database as data is provided and retrieve data as requested, then near real-time updates are achieved, but the number of database operations increases significantly

Engineering Contradiction:
Improvereal-time update speedVSAvoiddatabase operation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies preliminary action by tracking and buffering state data changes in the user interface application before transmitting them to the database. Instead of immediately updating the database with every user input, the system accumulates changes locally and sends batched updates, thereby reducing the frequency of database operations while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (state tracking system) between the user interface and the database. This intermediary buffers and manages state data, allowing the system to reduce direct database calls while ensuring that updates are eventually committed. The intermediary acts as a mediator that reconciles the need for real-time responsiveness with the need to minimize database operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If web applications track data in the user interface application, then database operation frequency is reduced, but extensive configuration and programming is required

Engineering Contradiction:
Improvedatabase operation efficiencyVSAvoidapplication code complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal state tracking interface that can be applied across multiple user interface applications and data types. By creating a general-purpose tracking mechanism that works with different object types and database tables, the system reduces the need for application-specific tracking code, thereby lowering complexity while maintaining efficiency.

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

Solution Approach 2:

The patent enables self-service by allowing the user interface application to automatically track its own state data changes without requiring extensive external configuration or programming. The tracking system operates autonomously, monitoring data modifications and managing the transition from local state to database storage, thereby reducing the programming burden on developers.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If numerous applications and users access data simultaneously, then system usability is improved, but server and database performance deteriorates due to high volume of database operations

Engineering Contradiction:
Improvesystem accessibilityVSAvoidserver performance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies merging by consolidating multiple individual database operations into batched updates. When multiple users or applications make changes, the system combines these changes and transmits them as consolidated batches to the database, thereby reducing the total number of operations and improving server performance while maintaining simultaneous access capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses preliminary action by pre-processing and buffering state data changes before database transmission. This allows the system to handle multiple simultaneous access requests without immediately translating each into a database operation, thereby reducing server load while maintaining accessibility for numerous users and applications.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12386811B2Method, apparatus, and computer program product for improved tracking of state data
Publication Date: 2025.08.12 HEALTHSTREAM INC
  • US12386811B2 patent drawing
  • US12386811B2 patent drawing
  • US12386811B2 patent drawing

AI summary

A method, apparatus, and computer program product is provided for tracking state data of objects during a session, and saving the data to a database. The tracking may be performed by a reusable set of computer program code accessible by a plurality of user interface applications. Temporary data may be stored as insert objects, update objects, and delete objects and maintained during a session of a user interface application. The temporary data may be updated as additional data is manipulated by the user interface application, but does not need to be tracked by the user interface application. The user interface application indicates if data is to be deleted, or is current (e.g., new or modified). Upon completion of the session, calls are made to update the database based on the temporary data.