Session State Tracking API 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 near-real-time updates and cumbersome state tracking in user interfaces, requiring extensive configuration and programming to manage data across multiple pages.

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 efficient database updates at the end of the session, 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 it is requested, then near real-time updates are achieved, but the number of database operations increases significantly

Engineering Contradiction:
Improvedata update speedVSAvoiddatabase operation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs preliminary actions by tracking and buffering data changes in the user interface application during the user session, rather than immediately updating the database. The tracked data is held in temporary storage and prepared for batch processing, allowing the system to maintain near real-time data consistency while deferring actual database operations until the end of the session when a commit indication is received.

Inventive Principle:
Principle #10Preliminary action

2Productivity

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

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

Solution Approach 1:

The system introduces an intermediary component that facilitates communication between the user interface application and the database. This intermediary handles the complex tracking and buffering operations, exposing a simplified interface to the user interface application while managing the complexity of data tracking, session management, and batch database operations internally.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If numerous applications and users access data simultaneously, then system usability is improved, but server and database performance deteriorates

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

Solution Approach 1:

The system merges multiple individual database operations from different users and applications into consolidated batch operations. By accumulating changes across multiple users during their sessions and processing them in batches at commit points, the system reduces the total number of database transactions, thereby improving server and database performance while maintaining simultaneous user access.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250370982A1Method, apparatus, and computer program product for improved tracking of state data
Publication Date: 2025.12.04 HEALTHSTREAM INC
  • US20250370982A1 patent drawing
  • US20250370982A1 patent drawing
  • US20250370982A1 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.