Cluster Resource Concurrency Violation Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional clustered computer systems face delays in detecting and addressing concurrency violations, leading to potential data corruption due to resources being accidentally started and remaining online on multiple nodes, necessitating a proactive method to prevent such violations.
Innovation Solution
The system intercepts system calls intended to bring resources online and determines their assigned state, failing the call if the resource should be offline, thereby preventing concurrency violations by ensuring resources are only activated when they are not already online on another node.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional periodic polling is used to detect concurrency violations, then the system can detect violations, but the response time is delayed by several minutes
Solution Approach 1:
The patent installs a trap at the system call level before the resource can be brought online. This preliminary action intercepts the system call attempt and checks the resource's assigned state proactively, preventing the concurrency violation before it occurs rather than detecting it after the fact through periodic polling.
Solution Approach 2:
The patent implements immediate feedback by trapping system calls and checking the assigned state of resources in real-time. When a system call attempts to bring a resource online, the trap immediately queries the clustering software for the resource's assigned state and either allows or fails the call based on that feedback, eliminating the minutes-long delay of periodic polling.
2Ease of operation
If resources are allowed to be brought online without interception, then system operation is simple, but concurrency violations occur leading to data corruption
Solution Approach 1:
The patent introduces a trap as an intermediary component between the system call and the resource. This trap intercepts system calls attempting to bring resources online and mediates by checking the assigned state with the clustering software, allowing legitimate operations while blocking those that would cause concurrency violations, thus protecting data integrity without complicating user operations.
3Reliability
If system calls are intercepted and checked before execution, then concurrency violations are prevented, but system call processing complexity increases
Solution Approach 1:
The patent extracts the concurrency check logic from the general system call processing path and places it specifically at the trap level for resource online/bring-online calls. This extraction allows the interception mechanism to focus only on the critical path where concurrency violations occur, rather than adding complexity to all system call processing.
Data Source
AI summary
Method and apparatus for preventing concurrency violations among resources in a clustered computer system is described. In one example, a system call is intercepted at a node in the clustered computer system. The system call identifies a target resource. An assigned state of the target resource with respect to the node is determined. The system call is handled at the node based on the assigned state. For example, the system call may be intended to bring the target resource online. The system call is handled by failing the system call at the node if the assigned state indicates that the target resource should be offline at the node. The target resource is allowed to be brought online if the assigned state indicates that the target resource can be online.


