Deferring Control Block Deletion in Transaction Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transaction management systems face challenges in efficiently deleting control blocks while ensuring they are not accessed by long-running process tasks, which can lead to abnormal terminations of short-running processes if deleted prematurely.

Innovation Solution

A method that differentiates between long-running and short-running process tasks using flags and a timer to logically delete control blocks, deferring physical deletion until all short-running processes have completed, thereby avoiding complex serialization algorithms and count-based methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If control blocks are deleted immediately when no longer in use, then storage efficiency is improved, but short-running processes may abnormally terminate when accessing deleted storage

Engineering Contradiction:
Improvestorage efficiencyVSAvoidprocess stability
Core Design Contradiction:
Loss of substanceVSReliability

Solution Approach 1:

The system performs preliminary logical deletion by moving control blocks to a delete pending queue before physical deletion. This preliminary action allows the system to mark blocks as deleted logically while maintaining their storage space, preventing short-running processes from accessing invalid memory while still achieving the goal of preventing new processes from using deleted blocks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The deletion process is segmented into two distinct phases: logical deletion (moving to delete pending queue) and physical deletion (removing from storage). This segmentation allows the system to separate the logical state change from the physical resource release, enabling safe handling of concurrent access while improving storage efficiency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If control blocks are protected from deletion while in use, then process reliability is improved, but storage cannot be released even when blocks are no longer needed

Engineering Contradiction:
Improveprocess stabilityVSAvoidstorage release
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The system dynamically adjusts the protection status of control blocks based on their current state and usage. Blocks are protected during logical deletion but allow physical deletion after a predetermined time period, creating a dynamic protection mechanism that adapts to the operational context and time-based conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements periodic checking to determine when control blocks in the delete pending queue are ready for physical deletion. This periodic action allows the system to maintain protection for a predetermined time while eventually releasing storage when blocks are confirmed no longer needed, balancing reliability and resource efficiency.

Inventive Principle:
Principle #19Periodic action

3Reliability

If complex serialization algorithms are used to manage control block deletion, then concurrency safety is improved, but system complexity increases

Engineering Contradiction:
Improveconcurrency safetyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts the concurrency control mechanism from complex serialization algorithms and replaces it with a simpler queue-based approach. By taking out the deletion operation and placing it in a delete pending queue, the system achieves concurrency safety through structural organization rather than complex locking mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses a simple queue structure as a disposable intermediate state for control blocks during deletion. This cheap, simple data structure replaces expensive complex serialization algorithms, providing sufficient concurrency protection without the overhead of sophisticated locking and semaphore mechanisms.

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

4Reliability

If count-based methods are used to track control block usage, then deletion safety is improved, but computational overhead increases

Engineering Contradiction:
Improvedeletion safetyVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system replaces the mechanical counting mechanism with a queue-based structural approach. Instead of incrementing and decrementing reference counts, the system uses the position of control blocks in queues (active vs. delete pending) to determine deletion safety, eliminating the computational overhead of continuous counting operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The control block's queue position itself serves as the deletion safety mechanism. The block's location in the active queue or delete pending queue automatically provides the information needed for safe deletion decisions, eliminating the need for separate counting tracking and reducing computational overhead.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8087027B2Computer program product and system for deferring the deletion of control blocks
Publication Date: 2011.12.27 SAP SE
  • US8087027B2 patent drawing
  • US8087027B2 patent drawing
  • US8087027B2 patent drawing

AI summary

A computer program product and system are disclosed for deferring the deletion of resource control blocks from a resource queue within an information management system that includes a plurality of short-term processes and a plurality of long-term processes when each of the long term processes has unset a ‘resource in use’ control flag for that long term process, a ‘request deletion’ flag has been set by the information management system, and a predetermined amount of time has elapsed.