Resource Instance Manager for Concurrent Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for managing access to shared computing resources using resource locks lead to inefficiencies, such as deadlocks, poor performance, and increased memory and processor overhead due to the need for threads to directly manage access and maintain exclusive locks for extended periods.
Innovation Solution
Implementing resource instance managers to represent shared resources as objects, where each resource instance manager manages access to a specific resource, allowing multiple processes to execute in parallel by enqueuing subcommands and ensuring only one subcommand modifies the resource state at a time, thereby preventing deadlocks and maintaining a consistent object state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If resource locks are used to prevent concurrent access to shared resources, then data corruption is prevented, but system performance deteriorates due to underutilization of processing capacity
Solution Approach 1:
The patent segments the resource access management by creating separate resource instance managers for different types of resources (e.g., file system manager for files, directory manager for directories). Each manager handles its own resource type independently, allowing concurrent access to different resource types while maintaining data integrity within each resource type.
Solution Approach 2:
The patent introduces resource instance managers as intermediary components between processes and shared resources. These managers act as mediators that coordinate access to resources, preventing direct conflicting access while enabling efficient parallel processing through structured command queuing and state management.
2Reliability
If threads maintain exclusive access to resources for long execution periods, then resource consistency is ensured, but overall system performance deteriorates due to delayed other tasks
Solution Approach 1:
The patent implements dynamic resource instance managers that can be created and destroyed based on runtime needs. When a resource type is accessed, a corresponding manager is created; when no longer needed, it is destroyed. This dynamic allocation allows the system to adapt resource management capacity to actual workload patterns, reducing unnecessary overhead and improving responsiveness.
Solution Approach 2:
The patent uses command queues where access requests are enqueued before actual resource access occurs. The resource instance manager processes commands in sequence from the queue, allowing the system to prepare and organize access requests in advance, ensuring consistency while enabling overlapping processing of different resource types.
3Reliability
If resource locks are implemented to prevent concurrent access, then data corruption is avoided, but device complexity increases due to lock negotiation requirements
Solution Approach 1:
The patent creates universal resource instance manager classes that can handle multiple types of resources through type-specific implementations. The base manager class provides common functionality for command queuing, state management, and access coordination, while specific managers (file system manager, directory manager) inherit and specialize this behavior, reducing overall system complexity through code reuse and standardization.
Solution Approach 2:
The resource instance managers are self-managing components that automatically handle their own command queues, state consistency, and access coordination without requiring external lock management logic from calling threads. This self-service approach eliminates the complexity of manual lock acquisition, holding, and release operations that would otherwise be required.
4Reliability
If multiple threads are maintained to manage shared resources, then resource access control is achieved, but memory and processor overhead increases
Solution Approach 1:
The patent merges resource management functionality into unified resource instance managers that handle multiple operations (read, write, delete, etc.) on their associated resource types. Instead of having separate threads for each operation type, all access control for a given resource type is consolidated in a single manager, reducing the total number of threads required while maintaining comprehensive access control.
Data Source
AI summary
Techniques are disclosed for managing access to shared computing resources in a computing system which include representing resources as objects and managing access to those objects using the construct of a resource instance manager. A set of resource instance managers respond to all commands requesting access to a set of respective shared resources. Access to each shared resource is managed by a unique resource instance manager for that resource which maintains a consistent state for that shared resource. When commands are designed according to an appropriate model and processed by a set of resource instance managers disclosed herein, multiple processes may execute in parallel without causing deadlocks or introducing data corruption.


