Parallel Object Update Acknowledgement via Lock Queuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In warehouse management systems, parallel updates of business objects can lead to lock collisions, degrading system performance and efficiency due to the need for simultaneous updates across multiple users, which is not effectively managed by existing technologies.

Innovation Solution

A system that acquires locks for item data in a persistent store upon confirmation of task completion, with a queuing mechanism to acknowledge updates promptly and retry lock acquisition after a delay, allowing for high granularity locking and reducing lock collision impact by ensuring timely updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple users simultaneously update the same business object in parallel, then real-time information visibility and task execution efficiency are improved, but lock collisions occur that degrade system performance

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidsystem performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by sending an acknowledgement to the client before the database update is actually completed. When a lock is unavailable, the system queues the update operation and immediately acknowledges the client, allowing the client to proceed without waiting for the actual database update. This preliminary acknowledgement resolves the contradiction by decoupling the client's task execution flow from the database update timing, maintaining productivity while preventing performance degradation from lock waiting.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An update queue acts as an intermediary between the client's update request and the database update execution. The queue buffers update operations when locks are unavailable, allowing clients to send updates without immediate database access. This intermediary mechanism enables parallel updates to be processed sequentially when necessary, maintaining system reliability while allowing high-level parallelism for productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If lock acquisition is enforced before every update, then data consistency is maintained, but system performance degrades due to lock collisions

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system sends acknowledgements preliminarily before actual database updates are executed. When a lock is acquired, an update is queued and acknowledged immediately without waiting for the actual update execution. This preliminary acknowledgement approach maintains data consistency through eventual updates while dramatically improving system efficiency by removing the blocking wait that would otherwise occur between lock acquisition and update completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses a lightweight update queue that stores temporary update operations as simple data structures rather than maintaining complex lock states. These update queue entries are short-lived objects that are processed and removed quickly, providing a cheap mechanism to buffer updates without the overhead of prolonged lock management, thus improving efficiency while preserving consistency.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If updates are processed sequentially to avoid lock collisions, then system stability is maintained, but real-time information visibility is reduced

Engineering Contradiction:
Improvesystem stabilityVSAvoidinformation visibility delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs the acknowledgement action preliminarily and independently of the actual update execution timing. Clients receive immediate feedback that their update was received and is being processed, even though the actual database update may occur later when a lock is available. This separates the information visibility (acknowledgement) from the actual data modification timing, maintaining stability while minimizing perceived delay for users.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The update queue maintains continuous processing of update operations without interruption. Even when locks are unavailable and updates must be deferred, the queue continuously accumulates and processes updates as locks become available, ensuring that the useful action of data updating continues without gaps. This continuous processing maintains system stability while minimizing overall delay in information visibility.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS7689561B2System and method for handling parallel updates of objects requiring time sensitive acknowledgement
Publication Date: 2010.03.30 SAP SE
  • US7689561B2 patent drawing
  • US7689561B2 patent drawing
  • US7689561B2 patent drawing

AI summary

A system and method of updating persistent objects in a persistent store. In response to receipt of a confirmation of task competition, an attempt is made to acquire a lock for corresponding item data in the persistent store. Regardless of whether the lock is acquired, a successful update of the persistent store is acknowledged to the sender of the confirmation within a defined time period.