Persistence Layer for Database Update Decoupling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in separating business processing from data handling, particularly when errors occur during database updates, leading to complex and error-prone rollback processes, especially in multi-application scenarios where simulations result in database changes that need to be rolled back.

Innovation Solution

A persistence layer is introduced between the application and the database, which receives updates and stores them in memory, delaying writeback to a later time, allowing for simulation modes and enterprise service delays, and managing updates through a persistence manager and session object to control writeback operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the database is updated during business processes, then data handling is integrated with application logic, but error handling becomes complex and requires rollback operations

Engineering Contradiction:
Improvebusiness process execution speedVSAvoiderror handling reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a persistence layer as an intermediary component between the application logic and the database. This persistence layer acts as a mediator that receives updates from the application, stores them temporarily in memory, and manages the actual database writeback operations. This separation allows business processes to execute without direct database interactions, improving reliability by isolating error-prone database operations from critical business logic while maintaining productivity through asynchronous processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the application delays database updates, then data handling is separated from application logic, but memory usage increases to store update information

Engineering Contradiction:
Improvetransaction integrityVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The persistence layer performs preliminary actions by collecting and buffering database updates in memory before actual writeback operations. This allows the system to maintain transaction integrity by preparing all necessary updates in advance, validating them, and then executing them atomically. The memory consumption is managed efficiently by clearing the buffer after successful writeback, ensuring that memory usage remains proportional to the batch size rather than accumulating indefinitely.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If a persistence layer delays writeback, then rollback management becomes efficient, but system complexity increases with additional layers

Engineering Contradiction:
Improverollback managementVSAvoidsystem architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the data handling architecture into distinct layers: the application logic layer, the persistence layer, and the database layer. The persistence layer is further segmented into components that handle update collection, validation, and writeback operations. This segmentation improves rollback management by confining database operations to a dedicated layer that can be easily rolled back as a unit, while the application logic remains simple and focused on business processes. The complexity is managed through clear interface definitions between layers.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9015135B2Persistence layer
Publication Date: 2015.04.21 SAP SE
  • US9015135B2 patent drawing
  • US9015135B2 patent drawing
  • US9015135B2 patent drawing

AI summary

A system and method to separate business processing from data handling. A persistence layer resides between an application and a database. The persistence layer receives updates from the application and stores them in a memory delaying writeback to the database to a later time.