Resource Credit Tree for Allocation Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with finite resources, resource allocation can lead to race conditions, deadlocks, dropped or delayed high-priority requests, and inefficiency due to low resource utilization.

Innovation Solution

A method and system utilizing a resource credit tree that allocates and frees credits through a backward traversal path, maintaining a tally of cascading credits to efficiently manage resource allocation and de-allocation, ensuring that required credits are allocated or freed from the resource credit tree based on available credits and capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional resource allocation algorithms are used, then resource allocation can be performed, but race conditions and deadlocks may occur

Engineering Contradiction:
Improveallocation safetyVSAvoidallocation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The resource pool is segmented into multiple credit buckets organized in a tree structure, where each node represents a subset of resources. This segmentation allows concurrent access to different buckets without conflict, eliminating race conditions while maintaining overall resource coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Credits serve as an intermediary mechanism between resource requests and actual resource allocation. The credit-based system mediates access by allowing threads to acquire credits before accessing resources, preventing deadlocks through structured credit validation and propagation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If strict resource allocation control is implemented, then resource utilization can be managed, but high priority requests may be dropped or delayed

Engineering Contradiction:
Improveresource controlVSAvoidrequest processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The credit allocation system is dynamic, allowing credit limits and distributions to be adjusted based on current system state and request priorities. High-priority requests can dynamically acquire credits from lower-priority buckets, ensuring timely processing while maintaining overall resource control.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Credits are pre-allocated to buckets before resource access is needed. This preliminary credit distribution enables fast path allocation for high-priority requests without requiring complex runtime negotiations, improving request processing speed while maintaining control.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If simple allocation methods are used, then allocation speed can be maintained, but resource utilization efficiency decreases

Engineering Contradiction:
Improveallocation speedVSAvoidresource utilization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system adds a hierarchical dimension to resource allocation through the tree structure of credit buckets. This allows allocation to occur at multiple levels (specific buckets and aggregate pools), maintaining fast allocation at the leaf level while improving overall utilization through parent bucket credit propagation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The credit system incorporates feedback mechanisms where credit consumption and availability are continuously monitored and propagated through the tree structure. This feedback enables automatic credit redistribution from underutilized buckets to those with high demand, improving resource utilization while maintaining allocation speed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2751685B1Resource allocation tree
Publication Date: 2024.07.24 ORACLE INT CORP
  • EP2751685B1 patent drawingFigure 1
  • EP2751685B1 patent drawingFigure 2
  • EP2751685B1 patent drawingFigure 3

AI summary

A resource credit tree for resource management includes leaf nodes and non-leaf nodes. The non-leaf nodes include a root node and internal nodes. Resource management includes initializing a operation corresponding to a resource pool, selecting, using a hash function, a leaf node of a resource credit tree, and identifying a number of available credits of the leaf node. Resource management may further include traversing, using a backward traversal path, from the leaf node to a non-leaf node based on determining that the number of available credits is less than a required number of credits or determining that capacity of the leaf node is less than the summation of the number of credits to free to the resource credit tree and the number of available credits. Resource management may further allocating and freeing credits from and to the resource credit tree.