Deferring Control Block Deletion in Transaction Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If complex serialization algorithms are used to manage control block deletion, then concurrency safety is improved, but system complexity increases
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.
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.
4Reliability
If count-based methods are used to track control block usage, then deletion safety is improved, but computational overhead increases
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.
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.
Data Source
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.


