Dual Lock Mutex for Concurrent Domain Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application servers, such as RPAS, are unable to support batch operations during peak hours when users are actively performing workbook interactions, leading to interruptions and the need for nightly or weekend scheduling to avoid user disruption.
Innovation Solution
The implementation of a dual lock mutex (DLM) system using primary and secondary lock files to manage exclusive access, allowing batch processes to execute during peak hours while ensuring ongoing workbook operations can complete and preventing new workbook operations until batch processes are finished, with queued commit requests executed after batch completion.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single lock mechanism is used to control domain access, then exclusive access for batch operations can be ensured, but workbook operations must be interrupted during batch execution
Solution Approach 1:
The single lock mechanism is segmented into two separate lock files: a primary lock file for controlling workbook operations and a secondary lock file for controlling batch operations. This segmentation allows independent locking and unlocking of each lock file, enabling workbook processes to continue accessing the domain while batch operations acquire exclusive access through the secondary lock file without interrupting ongoing workbook sessions.
2Productivity
If batch operations are scheduled during peak hours, then system utilization is improved, but user workbook operations are interrupted
Solution Approach 1:
The dual lock mutex system acts as an intermediary mechanism between batch operations and workbook operations. The primary lock file serves as a mediator that allows workbook processes to maintain access during batch execution, while the secondary lock file mediates batch process access. This intermediary locking system enables batch operations to execute during peak hours without interrupting user workbook operations, as each process type operates under its own lock protection.
3Reliability
If domain access is restricted during batch operations, then data consistency is maintained, but workbook processes cannot access domain data
Solution Approach 1:
Domain access control is segmented into two independent locking mechanisms: primary lock file for workbook operations and secondary lock file for batch operations. This segmentation allows workbook processes to acquire locks on the primary lock file and continue accessing domain data without being blocked by batch operations holding locks on the secondary lock file. Data consistency is maintained through proper lock management while workbook operations experience no wait time.
4Productivity
If a dual lock mechanism is implemented, then concurrent batch and workbook operations are enabled, but lock management complexity increases
Solution Approach 1:
Two separate locking mechanisms (primary and secondary lock files) are merged into a unified dual lock mutex system with coordinated lock management. The system combines the functionality of both lock files while implementing a standardized interface for acquiring and releasing locks. This merging approach enables concurrent batch and workbook operations through a single integrated system rather than managing two independent locking mechanisms, thereby reducing overall system complexity.
Data Source
AI summary
One embodiment is directed to a method for controlling access to a domain. The method includes receiving a request from a workbook process for a shared lock on a primary lock file and a secondary lock file controlling access to the domain, and providing the shared lock(s) when there is not an exclusive lock. While the workbook process is still in progress, the method may further include receiving a request from a batch process for an exclusive lock on the primary lock file, immediately providing an exclusive lock on the primary lock file the batch process, receiving a request from the batch process for an exclusive lock on the secondary lock file, and providing the exclusive lock on the secondary lock file to the batch process when there is not a shared lock on the secondary lock file.


