Remote Debugger Launch on Compute Clusters via Head Node Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging in cluster computing systems is challenging due to the difficulty in accessing and attaching debuggers to compute nodes on private networks from external client systems without direct access or administrative privileges.

Innovation Solution

Implementing a method that allows launching or attaching a debugging process by starting remote debugger agents at compute nodes within the cluster private network, facilitated by a head node connected to both private and public networks, using intermediaries like proxies or NAT forwarding to enable communication between public and private networks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If compute nodes are placed on a private network not accessible publicly, then cluster security and isolation are improved, but debugger accessibility from external clients deteriorates

Engineering Contradiction:
Improvecluster securityVSAvoiddebugger accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a head node as an intermediary between the public network and private network. The head node receives debugger launch requests from external clients on the public network, then initiates debugger processes on compute nodes within the private network. This mediator enables debugger accessibility without compromising the security isolation of the private network, as external clients never directly access compute nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If direct network access to compute nodes is required for debugging, then debugger connectivity is improved, but network security architecture deteriorates

Engineering Contradiction:
Improvedebugger connectivityVSAvoidnetwork security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The head node serves as a mandatory intermediary for all debugger connections. External clients submit debugger launch requests to the head node, which then spawns debugger processes on compute nodes. This architecture maintains network security by preventing direct client-to-compute-node connections, while still achieving debugger connectivity through the controlled intermediary channel.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments network access into two distinct layers: public network access to the head node, and private network access to compute nodes. This segmentation allows external clients to interact with the debugging system through the head node without compromising the security boundary of the private network segment containing compute nodes.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If administrative access to compute cluster is required for debugging, then debugger control capability is improved, but system complexity and access restrictions deteriorate

Engineering Contradiction:
Improvedebugger controlVSAvoidaccess management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The head node automatically handles debugger process initialization and management on compute nodes without requiring manual administrative intervention. When a client requests debugger launch, the head node autonomously creates and configures the debugger process on the appropriate compute node, then provides connection information to the client. This self-service mechanism eliminates the need for clients to have administrative access while maintaining full debugger control capability.

Inventive Principle:
Principle #25Self-service

4Reliability

If compute nodes are isolated on private network, then cluster protection from external threats is improved, but debugging capability from external clients deteriorates

Engineering Contradiction:
Improvecluster protectionVSAvoiddebugging capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The head node acts as a secure gateway that enables debugging capability for external clients without compromising cluster protection. It receives debugging requests from clients on the public network, translates them into appropriate actions on compute nodes in the private network, and relays results back to clients. This intermediary approach maintains the protective isolation of the private network while providing versatile debugging access to external users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2622484B1Debugger launch and attach on compute clusters
Publication Date: 2020.03.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2622484B1 patent drawingFigure 1
  • EP2622484B1 patent drawingFigure 2
  • EP2622484B1 patent drawingFigure 3

AI summary

Launching a debugging process. A method includes at a compute node on a cluster private network, receiving a debug job via a scheduler of a head node from a client on a public network. The head node is connected to both the cluster private network and the public network. The public network is external to the cluster private network. The method further includes beginning processing the debug job, and as a result initiating debugging by starting one or more debugger remote agents at the compute node. The method further includes beginning processing a user job in the presence of the started debugger remote agents at the compute node. The client is informed that the one or more debugger remote agents are ready to debug the user job. A debugger client at the client is connected to the one or more debugger remote agents.