Deferred Unlock List for Resource Locking in Portable Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In portable computing devices, managing resources across multiple processors to prevent deadlocks and optimize processing power is challenging due to the need for efficient resource locking and unlocking strategies, especially when handling transactions involving multiple resources.

Innovation Solution

A method and system for minimal set locking in portable computing devices that involve determining if a resource has completed processing within a transaction, allowing it to unlock if done, or adding it to a deferred unlock list if not, and ensuring dependencies are also processed accordingly, thereby preventing deadlocks and optimizing resource availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resources are locked for the entire transaction duration, then resource access consistency is maintained, but resource availability for other requests decreases

Engineering Contradiction:
Improveresource access consistencyVSAvoidresource availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the resource locking mechanism into two distinct phases: immediate unlocking for resources that have completed processing, and deferred unlocking for resources that need to maintain locks until transaction completion. This segmentation allows the system to release locks early when safe to do so, improving resource availability while maintaining consistency for resources that require continued locking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The framework manager performs preliminary assessment of each resource's processing status before determining the unlock strategy. By checking whether a resource has completed processing ahead of time, the system can proactively unlock eligible resources during the transaction, rather than waiting until the end, thus improving overall system productivity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all resources are placed on the deferred unlock list, then resource access consistency is maintained, but processing efficiency decreases due to extended locking

Engineering Contradiction:
Improveresource access consistencyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of applying the conservative deferred unlock strategy to all resources, the patent applies it only partially - specifically to resources that have not completed processing. Resources that have finished processing are unlocked immediately, avoiding unnecessary extended locking and improving processing efficiency while still maintaining consistency where required.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If resources are unlocked immediately after processing, then resource availability improves, but deadlock risk increases

Engineering Contradiction:
Improveresource availabilityVSAvoiddeadlock prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The framework manager implements a feedback mechanism that continuously monitors resource processing status and transaction state. Based on this feedback, it dynamically determines whether to unlock a resource immediately or defer unlocking, and identifies dependency relationships to prevent premature unlocking that could cause deadlocks. This feedback-driven approach balances resource availability with deadlock prevention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The framework manager acts as an intermediary between resources and the transaction system. It mediates the unlock timing by inserting a decision layer that assesses processing completion status and dependency relationships, allowing the system to safely unlock resources when appropriate while maintaining overall transaction integrity and preventing deadlocks.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If dependency checking is performed for all resources, then deadlock prevention is improved, but system complexity increases

Engineering Contradiction:
Improvedeadlock preventionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies dependency checking selectively rather than uniformly to all resources. The framework manager performs dependency analysis only for resources that are candidates for deferred unlocking - those that have not completed processing. This localized approach to dependency checking maintains deadlock prevention capabilities while reducing overall system complexity compared to checking all resources.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8943504B2Tracking and releasing resources placed on a deferred unlock list at the end of a transaction
Publication Date: 2015.01.27 QUALCOMM INC
  • US8943504B2 patent drawing
  • US8943504B2 patent drawing
  • US8943504B2 patent drawing

AI summary

Requests of a PCD are determined if they are part of a transaction involving a plurality of resources. Next, each resource that is part of the request involving multiple resources is identified. As each resource is identified, a framework manager determines if a resource has completed processing the request directed at it. If the resource has returned a value that it has completed the request, then the framework manager allows the resource to return to an unlocked state while other requests in the transaction are being processed. If the resource has not completed processing and has deferred some of the processing to the end of the transaction, then the resource is added to a deferred unlock list. It is determined if the resource is a dependent on another resource in the current request path. If it is dependent, then the other resource is also placed on the deferred unlock list.