Connection Manager Node Pool Policy for Storage Upgrades
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During non-disruptive upgrades of nodes in storage systems, the inconsistency in software or firmware versions among nodes can lead to disrupted client requests due to differences in behavior between upgraded and non-upgraded nodes, resulting in inefficient resource usage and potential disruptions.
Innovation Solution
A connection manager component determines whether to reduce a set of nodes to a subgroup based on upgrade statuses and node characteristics, selecting a node to service client requests that matches defined connection management criteria, ensuring consistent service even during upgrades.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If nodes are upgraded non-disruptively while maintaining service continuity, then service availability is improved, but inconsistency in software versions among nodes causes behavior differences that disrupt client requests
Solution Approach 1:
The system segments nodes into different groups based on their upgrade status (upgraded nodes vs. non-upgraded nodes). This segmentation allows the system to manage client requests differently for each group, routing requests to appropriate node types to avoid behavior inconsistencies while maintaining continuous service availability during the upgrade transition period.
Solution Approach 2:
The system dynamically adjusts the node pool composition and request routing based on real-time upgrade status. As nodes transition from non-upgraded to upgraded states, the system dynamically reconfigures which nodes serve which client requests, ensuring that the mix of upgraded and non-upgraded nodes handles requests appropriately without disrupting service continuity.
2Stability of the object's composition
If all nodes are upgraded simultaneously, then software version consistency is improved, but service disruption occurs during the upgrade process
Solution Approach 1:
The system performs upgrades in periodic batches rather than all at once. Nodes are upgraded sequentially or in controlled groups over time, allowing the system to maintain service continuity with available nodes while progressively achieving full software version consistency across the entire node population.
Solution Approach 2:
The system ensures continuous service availability by maintaining an operational node pool throughout the upgrade process. While some nodes are being upgraded, other nodes remain active to handle client requests, ensuring that the useful action of serving clients continues uninterrupted until the upgrade is complete.
3Reliability
If nodes with different upgrade statuses service client requests, then service continuity is maintained, but resource usage efficiency decreases due to behavior inconsistencies
Solution Approach 1:
The system introduces an intermediary layer (request routing mechanism) that sits between client requests and the node pool. This intermediary intelligently directs requests to appropriate nodes based on upgrade status and request type, ensuring that client requests are handled efficiently by compatible nodes while maintaining service continuity, thereby optimizing resource usage despite the mixed upgrade state.
Data Source
AI summary
Connection of clients to nodes associated with a storage system can be managed during non-disruptive upgrades (NDUs) of software or firmware of nodes. During NDU, connection manager component (CMC) manages connections of clients to nodes based on a node pool policy to determine nodes to consider for connection for a client request and a connection policy. CMC can determine whether to reduce a set of nodes to a subset of nodes having a particular upgrade status based on a threshold value associated with the particular upgrade status, which can be one of upgraded or non-upgraded. If threshold is satisfied for the set, CMC can reduce the set to the subset of nodes, and CMC can determine a node of the subset based on the connection policy. If threshold is not satisfied, the set is not reduced, and CMC determines a node from the set based on the connection policy.


