Dynamic Throttling of Scan Requests in Clustered Storage Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer networks with clustered storage systems, the existing antivirus scanning mechanisms face inefficiencies due to resource exhaustion issues, leading to high queue latencies and scan timeouts, which degrade file-access performance and are difficult to predict, resulting in either under-utilization or over-loading of scan engines.
Innovation Solution
Implementing a dynamic throttling mechanism where the scanner proxy estimates and adjusts a resource limit count value to manage scan requests, applying backpressure when resources are exhausted and increasing the limit when resources are available, thereby optimizing the handling of scan requests across multiple scanners in a cluster of nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If antivirus scanning is performed on all scan requests, then security protection is improved, but resource exhaustion occurs leading to high queue latencies and scan timeouts
Solution Approach 1:
The patent dynamically changes the resource limit count parameter based on current system conditions. The scanner proxy monitors resource usage and adjusts the threshold for accepting scan requests, transitioning from a static to a dynamic parameter that adapts to available scanner capacity, thereby preventing resource exhaustion while maintaining security.
Solution Approach 2:
The system implements dynamic throttling where the resource limit count is not fixed but continuously adjusted based on scanner performance and resource availability. This dynamic approach allows the system to respond to changing conditions, preventing both under-utilization and over-loading of scan engines while maintaining adequate security protection.
2Productivity
If resource limit count is increased to handle more scan requests, then productivity is improved, but resource exhaustion and system overload occur
Solution Approach 1:
The scanner proxy implements a feedback mechanism that monitors scanner resource usage and performance metrics. Based on this feedback, the system dynamically adjusts the resource limit count, increasing it when resources are available and decreasing it when resources are nearing exhaustion, thereby maintaining both high productivity and system stability.
Solution Approach 2:
The system performs self-regulation by automatically adjusting its own resource limit count based on monitored performance metrics. The scanner proxy autonomously determines appropriate throttling levels without external intervention, enabling the system to self-optimize between handling maximum requests and preventing overload.
3Reliability
If resource limit count is decreased to prevent overload, then system stability is improved, but under-utilization of scan engines occurs
Solution Approach 1:
The system transitions from a static, conservative resource limit to a dynamic threshold that continuously adapts to actual scanner capacity and workload conditions. This allows the system to maximize scanner utilization during periods of available capacity while automatically reducing limits when resources are constrained, eliminating under-utilization while maintaining stability.
Solution Approach 2:
Through continuous monitoring of scanner performance and resource availability, the feedback mechanism enables the system to identify when scanners are under-utilized and safely increase the resource limit count, thereby improving productivity without compromising system stability.
Data Source
AI summary
Techniques for dynamic throttling of scan requests for multiple scanners in a cluster of nodes are described. An apparatus may comprise a dynamic throttling service component for executing the dynamic throttling of scan requests for the multiple scanners in the cluster of nodes. The dynamic throttling service component operative to estimate, by the scanner proxy, a resource limit count value representative of resource capacity for servicing scan requests for each one of the multiple scanners in the cluster of nodes; detect a first scan request exceeds the resource limit count value for a first scanner; dynamically throttle each subsequent scan request for the first scanner in response to the first scan request exceeding the resource limit count value; and revise the resource limit count value, by the scanner proxy, for the first scanner.


