Storage Array Event-Based Data Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face inefficiencies in managing data requests, leading to increased computational resources usage and potential duplicative requests from multiple hosts, as they rely on polling mechanisms rather than proactive data distribution.
Innovation Solution
A storage array system that utilizes a message queue to manage requests and responses, identifying when multiple hosts are interested in data changes and proactively distributing unsolicited data to reduce future polling workloads by sending notifications and data to entities interested in data status.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If polling mechanisms are used to manage data requests, then data status can be monitored, but computational resource consumption increases and duplicative requests occur
Solution Approach 1:
Instead of hosts actively polling the storage array to check for data changes, the system inverts the approach by having the storage array proactively push unsolicited data notifications to hosts when changes occur. This inversion eliminates the need for continuous polling while maintaining reliable data status monitoring.
Solution Approach 2:
The storage array pre-processes data changes and prepares unsolicited notifications before hosts would need to poll. By detecting changes and pushing notifications proactively, the system performs the necessary action in advance, preventing hosts from needing to execute polling operations.
2Reliability
If multiple hosts poll for data changes, then data status can be monitored, but network bandwidth usage increases due to duplicative requests
Solution Approach 1:
The system merges the data change notification function into a single proactive push mechanism from the storage array. Instead of multiple hosts independently polling and receiving duplicative responses, one storage array notification service combines all monitoring functions and pushes notifications to interested hosts, eliminating redundant network traffic.
Solution Approach 2:
The storage array acts as an intermediary that monitors data changes centrally and distributes notifications to multiple hosts. This intermediary approach replaces the model where multiple hosts independently query the system, consolidating the monitoring function and reducing network bandwidth consumption through a single source of truth.
3Use of energy by moving object
If proactive data distribution is implemented, then computational resource consumption decreases, but system complexity increases
Solution Approach 1:
The storage array performs self-service by autonomously monitoring its own data changes and generating unsolicited notifications without external polling requests. This self-service capability eliminates the need for hosts to expend computational resources on polling while adding proactive notification functionality to the storage array itself.
Data Source
AI summary
A storage array for providing data storage services includes persistent storage and a storage array manager. The persistent storage stores data. The storage array manager obtains a request for solicited data using a request queue corresponding to a requesting host; responds, based on the solicited data, to the request using a response queue corresponding to the requesting host; makes a determination that the request implicates multiple hosts; and in response to the determination: distributes unsolicited data, based on the request, to the multiple hosts using the data stored in the persistent storage.


