Hierarchical Semaphore Queue for Resource Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource access management techniques, such as polling and message queues, incur high overhead in terms of processing resources and execution time, and fail to efficiently manage exclusive or limited access to limited-access resources while maintaining order of requests.

Innovation Solution

Implementing a hierarchical queue system using semaphores to control access to limited-access resources, where each semaphore corresponds to a different access request priority level, allowing high-priority requests to access the resource directly and low-priority requests to be gated into higher priority queues, thereby reducing system resource usage and overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If polling technique is used to control resource access, then clients can determine resource availability, but client processing capability decreases due to continuous polling overhead

Engineering Contradiction:
Improveresource availability determinationVSAvoidclient processing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

An operating system-level intermediary layer is introduced between clients and the resource. This intermediary manages resource access requests using semaphores and queues, allowing clients to simply wait for resource availability without continuous polling. The intermediary handles the complexity of resource management while clients maintain their processing capability for other tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If message queue is implemented for resource access management, then clients are freed from polling and can perform other tasks, but system resource overhead increases due to structured message processing and data transfer operations

Engineering Contradiction:
Improveclient task executionVSAvoidsystem resource overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The invention extracts only the essential synchronization signal from complex message structures. Instead of using structured messages with multiple fields (message type, length, data), the system uses simple semaphore flags that convey only the critical availability information. This extraction eliminates unnecessary data transfer operations and reduces system resource overhead while maintaining client productivity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses lightweight semaphore objects instead of heavy message queue structures. Semaphores are simple integer-based synchronization primitives that require minimal system resources compared to structured messages with variable-length data fields. These simple semaphore objects are created and destroyed efficiently, reducing overall system resource consumption.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If message queue is used for ordered request processing, then request order is maintained and clients are freed from polling, but queue management overhead increases due to application-level implementation and interruptions

Engineering Contradiction:
Improverequest orderingVSAvoidqueue management overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The operating system serves as an intermediary that implements the queueing mechanism at the kernel level rather than the application level. This intermediary manages request ordering using semaphore flags and OS-level queues, which are protected from interruptions by higher-priority tasks. The complexity of queue management is hidden from applications, reducing overall system complexity while maintaining reliable request ordering.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If hierarchical semaphore queue is implemented, then system resource usage and execution time are reduced, but system complexity increases due to multiple semaphore levels and priority management

Engineering Contradiction:
Improveexecution time efficiencyVSAvoidsemaphore hierarchy structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The resource access management is segmented into multiple priority levels, each with its own semaphore. This segmentation allows the system to handle different types of requests (high-priority interrupt-driven tasks vs. low-priority scheduled tasks) separately, improving overall execution efficiency by preventing low-priority tasks from blocking high-priority operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of having a single complex queue that tries to handle all priorities uniformly, the system inverts the approach by creating multiple simple semaphores, each dedicated to a specific priority level. This inversion simplifies the management logic at each level while achieving complex priority-based scheduling behavior through the combination of simple components.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS7644213B2Resource access manager for controlling access to a limited-access resource
Publication Date: 2010.01.05 ADVANTEST CORP
  • US7644213B2 patent drawing
  • US7644213B2 patent drawing
  • US7644213B2 patent drawing

AI summary

Methods and devices utilizing operating system semaphores are described for managing access to limited-access resources by clients.