Processor Failure Detection via Pessimistic Lock Control Records

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor architectures, particularly in wave parallel processing configurations, it is challenging for processors in subsequent waves to determine if a processor in a previous wave has failed catastrophically, as such failures often go undetected and can impact subsequent processing operations.

Innovation Solution

A processor in a wave processing architecture inserts a control record into a database and locks it with a pessimistic lock. If the processor fails, the lock is not released, allowing subsequent processors to detect the failure by attempting to lock the record, which indicates the first processor's failure, enabling corrective actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a processor uses pessimistic locking to prevent conflicts in wave processing, then processing reliability is improved, but the ability to detect catastrophic failures deteriorates because locked records cannot be accessed by subsequent processors

Engineering Contradiction:
Improveprocessing reliabilityVSAvoidfailure detection capability
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the control record into two parts: a data portion that is pessimistically locked for processing, and a separate status portion that remains accessible for failure detection. This segmentation allows subsequent processors to monitor the status of previous processors without conflicting with the locked data portion, thereby maintaining both processing reliability and failure detection capability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a processor deletes the control record after completing operations, then resource utilization is improved, but failure detection capability deteriorates because there is no record left to indicate failure

Engineering Contradiction:
Improveresource utilizationVSAvoidfailure detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by having the processor update the status portion of the control record to indicate completion before deleting the record. This preliminary status update ensures that if the processor fails after updating but before deletion, the status record remains as evidence of completion, enabling accurate failure detection while still allowing timely resource cleanup.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If no control record is used, then system complexity is reduced, but the ability to track processor state and detect failures deteriorates

Engineering Contradiction:
Improvesystem complexityVSAvoidprocessor state information
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent extracts the essential failure detection information from the complex control record structure and places it in a simplified, dedicated status portion that can be easily accessed and monitored. This extraction maintains minimal system complexity while ensuring that critical processor state information is always available for failure detection purposes.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10037242B2Failure detection in a processing system
Publication Date: 2018.07.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10037242B2 patent drawing
  • US10037242B2 patent drawing
  • US10037242B2 patent drawing

AI summary

A first processor enters a control record in a database and then selects the control record and locks it with a pessimistic lock. If the first processor finishes its operations, it deletes the control record. A subsequent processor searches for the control record and attempts to lock it with a pessimistic lock. If the subsequent processor is successful in locking the control record, it determines that the first processor has failed in performing its process, and takes desired action.