Cluster Resource Concurrency Violation Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedetection capabilityVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvesystem operation simplicityVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If system calls are intercepted and checked before execution, then concurrency violations are prevented, but system call processing complexity increases

Engineering Contradiction:
Improveconcurrency controlVSAvoidsystem call processing
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8533331B1Method and apparatus for preventing concurrency violation among resources
Publication Date: 2013.09.10 ARCTERA US LLC
  • US8533331B1 patent drawing
  • US8533331B1 patent drawing
  • US8533331B1 patent drawing

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.