Change Service for Shared Database Object Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Lock-based protocols in database concurrency control limit simultaneous access to shared data objects, causing inefficiencies and potential inconsistencies due to exclusive locks that prevent multiple users from working on data simultaneously.

Innovation Solution

A change service manages access to shared data objects by storing change requests in a temporary queue, allowing processes to continue uninterrupted while ensuring that changes are processed in a controlled and ordered manner, avoiding the need for exclusive locks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock-based protocols are used to ensure data consistency, then data integrity is maintained, but system throughput and concurrency are reduced

Engineering Contradiction:
Improvedata integrityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a change service as an intermediary layer between multiple processes and the shared database object. This change service receives change requests from multiple processes, queues them, and applies changes sequentially to the database object. The intermediary absorbs the concurrency control logic, allowing multiple processes to submit changes without direct locking conflicts, thereby maintaining data integrity while improving system throughput through parallel request submission.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If exclusive locks are applied to prevent conflicts, then data consistency is ensured, but access efficiency and user productivity deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidaccess efficiency
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The change service acts as a mediator that processes change requests from multiple users sequentially while allowing users to submit requests concurrently. The mediator manages the exclusive lock internally, applying it only during the brief moment of actual database modification, rather than requiring users to wait for lock acquisition. This separates the locking mechanism from user operations, improving access efficiency while maintaining data consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary validation and queuing of change requests before applying them to the database. The change service validates change requests and places them in a queue before the actual database modification occurs. This preliminary processing allows users to prepare and submit changes without waiting for database locks, improving operational efficiency while ensuring consistency through pre-validation and sequential application.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple processes access shared data objects simultaneously, then system productivity increases, but data inconsistency risks increase

Engineering Contradiction:
Improvesystem productivityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The change service serves as a centralized intermediary that receives, validates, queues, and applies change requests from multiple processes. This mediator ensures that only one process modifies the shared database object at a time through sequential application of queued changes, preventing data inconsistency while allowing multiple processes to submit changes concurrently. The intermediary thus enables high system productivity through parallel request submission while guaranteeing data consistency through controlled sequential application.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11288263B2Change service for shared database object
Publication Date: 2022.03.29 SAP SE
  • US11288263B2 patent drawing
  • US11288263B2 patent drawing
  • US11288263B2 patent drawing

AI summary

Provided is a system and method for managing change requests to a shared data object. In one example, the method may include receiving a request to change a value of a shared data object stored in a data store, identifying a queue of the shared data object which stores change requests before processing, generating an entry for the request comprising a timestamp of the request, the change in the value, and an identifier of the shared data object, and storing the generated entry in the queue of the shared data object, where the generated entry is stored in a position of the queue based on the timestamp. Thus, a user does not need to wait for other users to finish accessing the shared data object. Instead, a user waits for a queue entry to be created, thus decreasing the wait time.