Resource Instance Manager for Concurrent Shared Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for managing concurrent access to shared computing resources face issues such as poor system performance due to resource locks, deadlocks, and inadequate fault tolerance, particularly in scenarios involving multiple processes modifying shared resources simultaneously.

Innovation Solution

The approach involves representing resources as objects and using resource instance managers to manage access, where each resource instance manager enqueues subcommands and allows only one subcommand to execute at a time, maintaining a consistent object state and recording changes for automatic fault tolerance through a system state history.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resource locks are used to prevent multiple processes from modifying shared resources simultaneously, then data consistency is improved, but system performance deteriorates due to underutilized processing capacity

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the resource access control mechanism into fine-grained locks at the data structure level rather than coarse-grained process-level locks. This allows multiple processes to access different segments of shared resources simultaneously, improving system performance while maintaining data consistency through targeted locking only where necessary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer (the locking mechanism operating on data structures) between processes and shared resources. This intermediary manages access control transparently, allowing processes to execute concurrently without direct negotiation, thus improving performance while ensuring consistency through automated lock management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If resource locks are held for the entire execution period of a long-running thread, then resource access control is simplified, but system performance deteriorates due to delayed other tasks

Engineering Contradiction:
Improveresource access controlVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent divides resource access into segmented operations where locks are acquired and released at specific data structure boundaries rather than held for entire thread execution. This allows long-running threads to release and reacquire locks as needed, enabling other tasks to execute in between critical sections while maintaining simplified control through structured access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic lock acquisition and release cycles within thread execution, where locks are held only during necessary critical sections rather than continuously. This periodic pattern allows other tasks to access resources during non-critical periods, improving system performance while maintaining ease of operation through structured access control.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If conventional resource locking mechanisms are used, then process control is simplified, but fault tolerance deteriorates due to inability to track system state and recover from failures

Engineering Contradiction:
Improveprocess controlVSAvoidfault tolerance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent incorporates feedback mechanisms that track the state of locked resources and lock holders. This feedback system monitors which processes hold which locks and on which data structures, enabling the system to detect failures, identify affected resources, and coordinate recovery actions while maintaining simplified process control through automated state tracking.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent implements preliminary logging and state recording of resource access patterns and lock holdings before failures occur. This preliminary action creates a record of system state that can be used for recovery, allowing the system to reconstruct lost information and restore consistency after failures without complicating normal process control.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If multiple processes attempt to modify shared files simultaneously without coordination, then system performance is improved through parallel processing, but data consistency deteriorates

Engineering Contradiction:
Improvesystem performanceVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments shared resources into smaller data structures with individual locks, allowing multiple processes to modify different segments simultaneously. This segmentation enables parallel processing of non-conflicting operations while maintaining data consistency through targeted locking only on specific data structures being modified, rather than requiring exclusive access to entire files.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10474532B1Automatic fault tolerance in a computing system providing concurrent access to shared computing resource objects
Publication Date: 2019.11.12 EMC IP HLDG CO LLC
  • US10474532B1 patent drawing
  • US10474532B1 patent drawing
  • US10474532B1 patent drawing

AI summary

Techniques are disclosed for provided automatic fault tolerance in data storage systems and other computer systems managing access to shared computing resources using the construct of a resource instance manager together with an architecture for designing and implementing task-oriented state-based commands for accessing the shared computing resources. 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 appropriately, the system can be restored using a system state history maintained transparently by a system-provided application program interface.