ColoredLock Synchronization Object for Deadlock Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems, the use of locks for synchronization can lead to deadlock conditions during high availability procedures, where threads waiting for resources may prevent the completion of high availability processes, causing system failures.

Innovation Solution

The implementation of a ColoredLock synchronization object with a flow-specific policy for lock canceling, which allows selective termination of requests waiting on colored lock objects, preventing deadlock conditions by using an extended lock API with a color attribute to manage thread flows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If threads hold locks during high availability procedures, then resource protection is maintained, but deadlock conditions occur preventing procedure completion

Engineering Contradiction:
Improveresource protectionVSAvoidhigh availability procedure completion
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the lock management by introducing flow-specific policies. Different thread flows (IO threads vs. high availability threads) are assigned different lock cancellation policies, allowing the system to protect resources while enabling procedure completion by selectively canceling locks for specific flows during high availability procedures

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the lock object parameters by adding flow identification and flow-specific policy attributes. This allows the same lock object to behave differently for different thread flows, enabling resource protection for some flows while allowing procedure progression for others

Inventive Principle:
Principle #35Parameter changes

2Reliability

If IO threads wait on locks during high availability procedures, then resource access is controlled, but system responsiveness deteriorates

Engineering Contradiction:
Improveresource access controlVSAvoidsystem responsiveness
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces dynamic lock cancellation policies that can be activated during high availability procedures. IO threads waiting on locks can be selectively canceled based on flow-specific policies, making the lock management adaptive to system state changes and improving responsiveness during critical procedures

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If traditional lock objects are used, then implementation is simple, but deadlock prevention capability is insufficient

Engineering Contradiction:
Improvelock implementation simplicityVSAvoiddeadlock prevention
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent creates a universal lock object that can serve multiple purposes: traditional resource protection and flow-specific deadlock prevention. The extended lock object maintains backward compatibility while adding new capabilities through flow identification and policy-based cancellation, eliminating the need for separate lock mechanisms

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10331498B1ColoredLock synchronization object, allowing flow specific policy of lock canceling
Publication Date: 2019.06.25 EMC IP HLDG CO LLC
  • US10331498B1 patent drawing
  • US10331498B1 patent drawing
  • US10331498B1 patent drawing

AI summary

Aspects for operating a computer system include a colored lock synchronization object allowing flow specific policy of lock canceling. An extended lock object Application Programming Interface (API) including a color attribute is utilized. A color attribute is passed to the extended lock API, whereby the color attribute reflects a type of flow or thread that called a colored lock object. Selective termination of requests waiting on a colored lock object can be utilized to prevent a potential deadlock condition.