Hierarchical Resource Tree Partitioning for Lock-Free Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face inefficiencies in resource allocation and deallocation due to the reliance on locking mechanisms, which can lead to bottlenecks and slow access to resources for clients.

Innovation Solution

The system partitions a hierarchical resource tree into multiple disjoint sets, allowing clients to be assigned to specific partitions where resources are allocated without the need for hardware or software locks, enabling dynamic or static client-partition mapping and rebalancing based on usage patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking mechanisms are used to allocate resources, then resource exclusivity is ensured, but access speed decreases and bottlenecks occur

Engineering Contradiction:
Improveresource exclusivityVSAvoidresource access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the resource allocation system by introducing separate allocation agents for different resource types (e.g., CPU, memory, storage). Each allocation agent independently manages its own resource pool without requiring global locking mechanisms, thereby maintaining resource exclusivity while eliminating bottlenecks that would arise from centralized lock-based control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces allocation agents as intermediary components between clients and the resource pool. These agents act as mediators that handle allocation requests locally without requiring clients to acquire locks on shared resources, thus ensuring exclusive access while improving access speed by eliminating the need for lock acquisition and release operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If locking mechanisms are used for resource allocation, then resource management is simplified, but system performance degrades due to bottlenecks

Engineering Contradiction:
Improveresource management complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system divides the resource management function into separate allocation agents, each responsible for a specific resource type. This segmentation allows each agent to manage its resources independently without requiring complex global synchronization mechanisms, thereby maintaining manageable complexity while significantly improving system performance by eliminating lock-based bottlenecks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs multiple allocation agents that can operate in parallel, effectively copying the allocation function across different resource types. This allows concurrent allocation operations without interference, improving productivity while keeping each individual agent's complexity low since they manage disjoint resource sets independently.

Inventive Principle:
Principle #26Copying

3Productivity

If hierarchical resource tree is partitioned into multiple partitions, then concurrent allocation to multiple clients is enabled, but system complexity increases

Engineering Contradiction:
Improveconcurrent allocation capabilityVSAvoidpartition management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the hierarchical resource tree into multiple independent partitions, each managed by a dedicated allocation agent. This segmentation enables concurrent allocation to multiple clients operating on different partitions simultaneously, improving productivity. The complexity is managed by keeping each partition small and independent, so that each allocation agent operates on a simplified, manageable subset of resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization by partitioning resources along hierarchical levels. Instead of a single flat resource pool, the system organizes resources into multiple hierarchical partitions (e.g., by resource type, by allocation agent), enabling concurrent operations across different dimensions while maintaining manageable complexity through structured organization.

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

Data Source

PatentUS10608954B2Hierarchical resource tree allocation
Publication Date: 2020.03.31 CIENA CORP
  • US10608954B2 patent drawing
  • US10608954B2 patent drawing
  • US10608954B2 patent drawing

AI summary

A method for resource management includes receiving, from a client, an allocation request for a resource, and assigning, to the client, a partition of a hierarchical resource tree. The partition is in multiple partitions of the hierarchical resource tree. The method further includes identifying a deallocated resource in the partition, and allocating, to the client, the first deallocated resource from the partition to create an allocated resource.