Node Controller Shared Resource Mounting Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, maintaining the integrity of shared resources across multiple computing nodes is challenging, as existing technologies lack effective mechanisms to ensure exclusive access and prevent data corruption during job transitions or communication failures.

Innovation Solution

The system employs a node controller and shared resource provider to manage access to shared resources through job start and stop commands, heartbeat messages, and acknowledgement messages, ensuring deterministic access and preventing data corruption by transferring jobs to alternate nodes upon failure detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple computing nodes access shared resources simultaneously, then system productivity increases, but data integrity and resource reliability deteriorate due to potential corruption

Engineering Contradiction:
Improvesystem productivityVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A node controller is introduced as an intermediary component between computing nodes and shared resources. The node controller receives job start data indicating shared resources, sends this information to a shared resource provider, and manages the mounting and dismounting of shared resources. This intermediary ensures that only one computing node can access a shared resource at a time through coordinated mounting/dismounting operations, preventing data corruption while maintaining system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system implements strict access control mechanisms for shared resources, then resource reliability improves, but device complexity increases

Engineering Contradiction:
Improveresource reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct functional components: a node controller that manages access requests, a shared resource provider that handles mounting/dismounting operations, and computing nodes that execute jobs. This segmentation distributes the complexity across multiple specialized components rather than requiring a single complex access control mechanism, making the overall system more manageable while ensuring resource reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The node controller acts as an intermediary that simplifies access control by centralizing the management of shared resources. Instead of implementing complex distributed locking mechanisms across all computing nodes, the node controller mediates all access requests through a standardized interface, reducing the complexity burden on individual computing nodes while maintaining reliable access control.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the system transfers jobs to alternate nodes upon failure detection, then system reliability improves, but loss of time occurs during job transfer

Engineering Contradiction:
Improvesystem reliabilityVSAvoidjob transfer time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The node controller continuously monitors the system state and maintains readiness to transfer jobs to alternate nodes. By having pre-configured alternate nodes and maintaining job state information, the system can execute transfers more quickly when failures are detected, reducing the time loss associated with job migration while maintaining high system reliability through automatic failover capabilities.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9954958B2Shared resource management
Publication Date: 2018.04.24 RED HAT INC
  • US9954958B2 patent drawing
  • US9954958B2 patent drawing
  • US9954958B2 patent drawing

AI summary

Various examples are directed to systems and methods for executing a computing job at a computing node of a distributed computing system. A node controller may receive computing job request data from a system controller. The node controller may send job start data to a shared resource provider. The shared resource provider may mount a shared resource for the computing job indicated by the computing job request data. The node controller may send a heartbeat message to the system controller and receive from the system controller an acknowledgement message referencing the heartbeat message. The system controller may send to the shared resource provider, a job stop command. In response to the job stop command, the shared resource provider may dismount the shared resource.