Distributed Storage Node Role Assignment Without Reboot
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Adaptability or versatility
If traditional role change methods are used, then role switching is possible, but performance degradation occurs due to reboot requirements
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.
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.
Data Source
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.


