API Burst Detection Mechanism for System Overload Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems face overload issues due to rapid succession of single-action API calls, which can temporarily make the system unavailable, similar to a denial-of-service attack, highlighting the need to discourage the use of single-action API calls in favor of bulk-action calls.
Innovation Solution
Implement a mechanism to detect bursts of single-action API calls within a predetermined time window and generate an error message, prompting the use of bulk-action API calls by identifying matching bulk-action API calls and returning error messages to the sender, thereby preventing system overload.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If single-action API calls are allowed without restriction, then ease of operation is improved, but system reliability deteriorates due to overload and temporary unavailability
Solution Approach 1:
The system monitors incoming API calls and provides feedback by returning error messages when burst patterns are detected. This feedback mechanism informs senders about the burst condition and encourages them to use bulk-action API calls instead, thereby maintaining system reliability while preserving ease of operation for legitimate single calls.
Solution Approach 2:
The system takes preliminary anti-action by detecting burst patterns before the system becomes overloaded. By identifying multiple single-action API calls from the same sender within a predetermined time window and returning error messages proactively, the system prevents the accumulation of requests that would lead to overload and unavailability.
2Reliability
If bulk-action API calls are required, then system reliability is improved by preventing overload, but ease of operation deteriorates due to increased complexity in implementing bulk operations
Solution Approach 1:
The system applies partial action by not completely blocking single-action API calls, but rather selectively returning errors only when burst patterns are detected. This partial restriction maintains ease of operation for normal single calls while preventing overload through targeted error responses, avoiding the need for complete bulk operation implementation.
3Reliability
If error messages are returned for burst detection, then system reliability is improved by preventing overload, but productivity deteriorates due to increased error handling requirements
Solution Approach 1:
The error messages serve as feedback that informs senders about burst conditions and guides them toward using bulk-action API calls. This feedback loop improves reliability by preventing overload while ultimately enhancing productivity by encouraging more efficient bulk operation patterns, despite the temporary increase in error handling.
Data Source
AI summary
A method, comprising: receiving, at a computing system, a given single-action API call, the given single-action API call being transmitted by a sender, the given single-action API call being associated with a given operation; detecting whether the given single-action API call is part of a burst, wherein detecting whether the given single-action API call is part of the burst includes detecting whether a plurality of single-action API calls that are associated with the given operation have been received from the sender of the given single-action API call in a predetermined time window; when the given single-action API call is part of a burst, generating an error message in response to the given single-action API call and returning the error message to the sender of the given single-action API call; and when the given single-action API call is not part of a burst, executing the given single-action API call.


