Distributed Resource Borrowing for System Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems, limited resources such as transaction identifiers can lead to delays and reduced throughput when multiple components vie for exclusive access, causing some transactions to stall or block due to insufficient resources, and existing management techniques either create bottlenecks or fail to allocate sufficient resources to meet peak demands.
Innovation Solution
A resource management system that allows idle resources assigned to one component to be borrowed by another when demand exceeds supply, using tracker structures with static and dynamic associations to quickly identify and share resources without a centralized arbitration point, thereby preventing blocking or stalling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If resources are allocated statically to each component, then resource allocation is simple and predictable, but system throughput decreases during peak demand as components stall waiting for resources
Solution Approach 1:
The patent implements dynamic resource allocation where resources can be borrowed from one component to another based on real-time demand. The resource manager allows components to borrow resources temporarily when their local pool is exhausted, and return resources when no longer needed. This dynamic approach prevents stalling during peak demand while maintaining manageable complexity through structured borrowing rules and tracking mechanisms.
2Adaptability or versatility
If resources are shared dynamically between components, then system throughput and adaptability improve, but resource management complexity increases due to need for tracking and arbitration
Solution Approach 1:
The patent implements a self-service resource management system where components autonomously manage their own resource pools and can directly borrow from or return to other components without centralized arbitration. Each component tracks its own resource usage and maintains borrower relationships. This self-service approach provides high adaptability while controlling complexity by distributing management responsibilities rather than concentrating them in a single arbiter.
3Reliability
If a centralized arbitration point is used to manage resources, then resource allocation is controlled and fair, but system throughput decreases due to the bottleneck at the arbitration point
Solution Approach 1:
The patent segments the centralized resource management function into distributed resource pools at each component. Instead of one central arbiter, each component has its own resource pool and can independently manage allocations. The segmentation allows parallel resource management operations without a single bottleneck, maintaining control through structured borrowing protocols while achieving high throughput through distributed decision-making.
4Reliability
If more resources are allocated to meet peak demand, then component blocking is prevented, but resource utilization efficiency decreases during low demand periods
Solution Approach 1:
The patent creates a universal resource pool that serves multiple components. Resources in this pool can be dynamically allocated to any component that needs them, rather than being dedicated to specific components. This multi-functionality allows the system to meet peak demand for any individual component while maintaining high overall utilization efficiency, as resources are shared across multiple uses rather than sitting idle in dedicated allocations.
Data Source
AI summary
In one example, a controller for managing a set of resources. A first structure has a first entry statically associated with one of the resources. A second structure has a second entry dynamically associative with one of the resources. A resource sharing mechanism borrows for the second structure an idle resource associated with the first structure.


