Asynchronous Permit Gating for Non-Blocking Resource Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in managing access to resources without blocking threads while permit requests are pending, leading to inefficiencies and resource contention.

Innovation Solution

Implementing an asynchronous access control mechanism that allows threads to continue executing other operations by queuing permit requests and using a data structure to track request status, with dynamic permit limits and instructions for completion scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a thread waits for a permit request to be completed before performing other operations, then resource access control is ensured, but system productivity decreases due to thread blocking

Engineering Contradiction:
Improveresource access controlVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the permit request process into distinct phases: permit acquisition (blocking) and task execution (non-blocking). By separating these phases and allowing threads to detach from permit requests after acquisition, the system maintains reliable resource access control while improving productivity through concurrent task execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (permit request objects with completion notifications) that mediates between resource access control and thread execution. Threads can register completion handlers and continue executing other tasks while the permit request is being processed, resolving the contradiction between control reliability and system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If threads are blocked while waiting for permit requests, then resource contention is controlled, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource contention controlVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent enables continuous useful action by allowing threads to perform alternative tasks while permit requests are pending. Instead of idle blocking, threads can execute other productive operations, maintain their readiness state, and be notified when permits become available, thereby improving resource utilization efficiency without compromising contention control.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements a self-service mechanism where threads can independently manage their permit request status through completion handlers and notification systems. Threads service themselves by registering callbacks and continuing execution, rather than requiring continuous blocking supervision, which improves overall resource utilization.

Inventive Principle:
Principle #25Self-service

3Productivity

If an asynchronous permit request system is implemented, then thread productivity is improved, but system complexity increases due to additional data structures and queue management

Engineering Contradiction:
Improvethread execution efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal permit request system that handles both blocking and non-blocking scenarios through a unified interface. The permit request objects serve multiple functions: acquiring permits, tracking completion status, and notifying waiting threads. This multi-functionality reduces the need for separate complex mechanisms for each scenario.

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

Solution Approach 2:

The patent manages complexity by dynamically changing the state parameters of permit request objects rather than creating entirely new structures. The system transitions between states (pending, granted, denied, completed) and adjusts thread blocking behavior based on these parameter changes, providing a flexible yet manageable architecture.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12524517B2Asynchronous counting gate
Publication Date: 2026.01.13 ORACLE INT CORP
  • US12524517B2 patent drawing
  • US12524517B2 patent drawing
  • US12524517B2 patent drawing

AI summary

Techniques are disclosed for restricting access to a computing resource in a manner that does not block the performance of other operations in a multi-thread computing environment. A software gate receives a request from a thread for permission to access a computing resource. Responsive to receiving the request, the software gate determines that a dynamic permit limit currently prevents the request from being granted. The software gate returns a data structure indicating that the request is incomplete, adds the request to a queue of pending requests, and releases the thread. Once released, the thread is free to perform other operations while the request is pending. If the request subsequently becomes allowable, the software gate grants the request, removes the request from the queue, and updates the data structure to indicate the request is complete.