Storage Array Manager Persistent Connections Reduce Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage array management systems experience slowdowns and inefficiencies when managing large numbers of storage arrays, leading to interface timeouts, long wait times, and communication delays due to the need to separately collect configuration state information from each array and the frequent setup and teardown of connections.
Innovation Solution
Implementing a local cache for storage array state information that is accessible by array managers, allowing for persistent connections for read and write operations, and using a thread pool to manage connections, which reduces the need for repeated connection setup and teardown, and employing a standard API for initial probing to determine array availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If separate communication with each storage array is performed to collect configuration state information, then current state information can be obtained, but substantial amounts of time and bandwidth are consumed leading to interface timeouts and long wait times
Solution Approach 1:
The system performs preliminary actions by establishing persistent connections with storage arrays in advance and maintaining them in a pool of available connections. When state information is needed, the array manager can immediately query the pre-established connections without undergoing time-consuming connection setup procedures, thus reducing the time to collect configuration state information while maintaining accurate current state data
Solution Approach 2:
The system cushions against potential timeouts and delays by maintaining a pool of persistent connections that are already established and ready for use. This pre-prepared connection pool acts as a buffer that prevents the system from experiencing connection setup delays when needing to query storage array state, thereby cushioning against the time loss that would otherwise occur
2Adaptability or versatility
If frequent connection setup and teardown is performed for read and write operations, then communication can be established when needed, but communication stability deteriorates and latency increases
Solution Approach 1:
The system implements continuity of useful action by maintaining persistent connections with storage arrays over extended periods rather than repeatedly establishing and tearing down connections. The connection pool retains established connections for multiple read and write operations, eliminating the need for frequent connection setup and teardown. This continuous connection state improves communication stability and reduces latency while still allowing flexible access to multiple storage arrays through the persistent connection pool
3Quantity of substance
If a large number of storage arrays are registered with the array manager, then storage network capacity increases, but scalability is limited due to slowdowns and timeouts
Solution Approach 1:
The system performs preliminary actions by pre-establishing connections with storage arrays and maintaining them in a ready state within the connection pool. When managing a large number of arrays, the array manager can immediately query pre-connected arrays without undergoing time-consuming connection setup procedures. This preliminary connection establishment enables the system to scale to larger numbers of storage arrays while maintaining management speed, as the bulk of the connection overhead is performed in advance rather than on-demand
4Ease of operation
If separate communication channels are used for each storage array, then array-specific management is enabled, but device complexity increases
Solution Approach 1:
The system applies universality by creating a unified connection pool that serves multiple storage arrays through a single management interface. Rather than requiring separate connection management logic for each array, the connection pool provides a universal mechanism that handles connections to any number of storage arrays in a standardized way. This multi-functional connection pool reduces device complexity while still enabling array-specific configuration and management operations through the same pooled connections
Data Source
AI summary
Systems and methods for increasing scalability and reducing latency in relation to managing large numbers of storage arrays of a storage network. Separate, dedicated, communication channels may be established between an array manager running on a server and each of a number of storage arrays for respectively performing reading and writing operations to limit the delays imposed by repeated array connection setup and teardown and improve array communication stability (e.g., as compared to performing read/write operations over the same array connection). The read connection can be used to maintain current state information (e.g., volumes, capacities, and the like) for a plurality of storage arrays in a local cache of the array manager that can be quickly accessed by the array manager, such as for presenting substantially current, summary-type state information of the various storage arrays to a user (e.g., upon the user requesting to configure a particular storage array).


