Distributed Storage Node Role Assignment Without Reboot

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face delays and resource consumption when changing the role of node components, such as control path masters to agents or vice versa, as they require rebooting the OS process, leading to unacceptable performance degradation and resource allocation issues.

Innovation Solution

Implementing an asynchronous programming framework like Vert.x, where control path components can change roles without terminating the current OS process by deploying or undeploying executable units as Verticles, allowing continuous execution and avoiding rebooting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the OS process is rebooted to change the role of node components, then the role change is achieved, but system downtime increases and performance degrades

Engineering Contradiction:
Improverole change capabilityVSAvoidsystem downtime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the OS process into multiple independent Verticles (executable units), where each Verticle represents a distinct service or role. This segmentation allows individual Verticles to be deployed, undeployed, or modified without affecting the entire OS process, enabling role changes without system reboot and eliminating downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic role assignment by allowing Verticles to be deployed and undeployed at runtime based on role requirements. The system can dynamically add, remove, or switch Verticles to change component roles during operation, providing adaptability without requiring system restart and maintaining continuous service availability.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the OS process is rebooted to change the role of node components, then the role change is achieved, but resource consumption increases

Engineering Contradiction:
Improverole change capabilityVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the OS process into modular Verticles, the system can load only the specific executable units needed for the current role, avoiding the overhead of loading and initializing the entire OS process. This reduces memory consumption and startup resource requirements when changing roles.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by deploying only the necessary Verticles for the current role rather than loading the complete OS process. This selective deployment minimizes resource consumption by executing only the required services and components for the specific role being performed.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If traditional role change methods are used, then role switching is possible, but performance degradation occurs due to reboot requirements

Engineering Contradiction:
Improverole switching capabilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent ensures continuity of useful action by maintaining the OS process running continuously while deploying and undeploying individual Verticles to effect role changes. This eliminates performance degradation associated with system reboots, as the underlying process remains active and serviceable throughout the role transition.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system implements dynamic role switching through runtime deployment and undeployment of Verticles, allowing seamless transitions between roles without system interruption. This dynamic approach maintains high productivity by avoiding the performance penalty of cold starts and reinitialization that accompany traditional reboot-based role changes.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11586354B2Techniques for role assignment of components of a distributed application
Publication Date: 2023.02.21 EMC IP HLDG CO LLC
  • US11586354B2 patent drawing
  • US11586354B2 patent drawing
  • US11586354B2 patent drawing

AI summary

The role of a node component of a distributed application may be changed without the need to terminate a current OS process implementing the node component. A first component on a first node of a distributed file server may be designated as a control path master and configured to execute a first group of services defined for the control path master as part of a first OS process. One or more other components on one or more other nodes of the distributed file server may be designated as a control path agent and configured to execute a second group of services defined for the control path agent as part of a respective second OS process. The control path master may be changed to a control path agent, and a control path agent may be changed to a control path master, without having to reboot the control path component in question.