Deferred Unlock List for Resource Locking in Portable Devices
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Productivity
If resources are unlocked immediately after processing, then resource availability improves, but deadlock risk increases
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.
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.
4Reliability
If dependency checking is performed for all resources, then deadlock prevention is improved, but system complexity increases
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.
Data Source
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.


