Time-Limited Mutual Exclusivity Lock for Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems face issues with race conditions when multiple processes attempt to read or write to the same memory location simultaneously, and existing lock mechanisms fail to efficiently manage exclusive access, particularly when a process fails to release a lock, leading to potential data corruption and system bottlenecks.

Innovation Solution

Implementing a system that determines the age of an exclusive lock on a memory location and automatically releases it if it exceeds a specified time threshold, ensuring that locks are not indefinitely held and allowing other processes to access the memory location, thereby preventing deadlocks and ensuring data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locks are used to prevent simultaneous access to memory locations, then data integrity is improved, but system productivity deteriorates due to access bottlenecks

Engineering Contradiction:
Improvedata integrityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by detecting lock age before allowing access. When a process requests access to a locked memory location, the system checks how long the lock has been held. If the lock age exceeds a threshold, the system automatically releases it before granting access to the waiting process, preventing indefinite blocking and improving overall system throughput while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If locks are held indefinitely to ensure exclusive access, then data corruption is prevented, but system stability deteriorates when processes fail to release locks

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system implements feedback by continuously monitoring lock age and comparing it against a predefined threshold. When the lock age feedback indicates excessive duration, the system automatically triggers lock release. This closed-loop control prevents deadlocks and system instability caused by failed processes, while still allowing sufficient time for legitimate long-running operations to complete.

Inventive Principle:
Principle #23Feedback

3Stability of the object's composition

If automatic lock release with time threshold is implemented, then system stability is improved, but lock management complexity increases

Engineering Contradiction:
Improvesystem stabilityVSAvoidlock management complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The system applies self-service by automatically detecting when locks exceed the age threshold and releasing them without requiring external intervention or complex coordination protocols. Each lock is monitored independently, and the release decision is made autonomously based on simple age comparison, avoiding the need for complex distributed lock management infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10459909B2System for providing a time-limited mutual exclusivity lock and method therefor
Publication Date: 2019.10.29 WALMART APOLLO LLC
  • US10459909B2 patent drawing
  • US10459909B2 patent drawing
  • US10459909B2 patent drawing

AI summary

A system and method for providing mutual exclusivity to an operation is presented. A memory location is checked to determine if the memory location is subject to an exclusive lock. If so, the age of the exclusive lock is determined. If the age of the exclusive lock is greater than a certain length of time, the exclusive lock on the memory location is released such that operations can be performed on the memory location. When a memory lock is created, a length of time can be associated with the memory location. The length of time can be a default length of time. The length of time can be a custom length that is stored in a database. Other embodiments also are disclosed.