Adaptive Polling and Sliding Window Buffering for Failure Event Grouping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems in virtual datacenters face excessive recovery times due to the lack of a mechanism to recognize related failure events, leading to serial processing of multiple failure events, which disrupts data consistency and user experience.
Innovation Solution
The implementation of adaptive polling intervals and sliding window buffering to detect and group failure events, allowing for batch processing and parallel recovery operations, thereby enhancing the efficiency of failure processing and reducing overall recovery time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing systems process numerous failure events serially to preserve data consistency, then data consistency is maintained, but recovery time becomes excessive
Solution Approach 1:
The system segments failure events into related groups based on correlation analysis. By dividing the monolithic serial processing into multiple independent parallel processing streams for different failure groups, the system maintains data consistency within each group while reducing overall recovery time through concurrent execution of multiple recovery operations.
Solution Approach 2:
The system dynamically adjusts the processing approach based on failure event characteristics. It implements adaptive polling intervals that increase frequency during failure cascades and uses dynamic grouping that evolves as more failure events are detected, allowing the system to optimize between serial and parallel processing based on real-time conditions.
2Device complexity
If existing systems use fixed polling intervals for failure detection, then system simplicity is maintained, but responsiveness to failure cascades is insufficient
Solution Approach 1:
The polling mechanism transitions from static to dynamic by adjusting polling intervals based on system state. When failure events are detected, the system automatically increases polling frequency to capture cascading failures more rapidly. This dynamic adaptation maintains simplicity by using rule-based adjustments rather than complex algorithms, while significantly improving detection speed during critical events.
Solution Approach 2:
The system implements feedback loops where detected failure events trigger increased polling frequency. The polling mechanism continuously monitors for failures, and when failures are detected, the system feeds this information back to adjust the polling interval, creating a self-adapting system that responds to actual system conditions rather than relying on fixed predetermined intervals.
3Reliability
If existing systems process failure events end-to-end sequentially, then complete recovery is ensured, but overall recovery time increases
Solution Approach 1:
The system segments the monolithic end-to-end recovery process into multiple independent recovery operations that can execute in parallel. By identifying related failure events and grouping them, the system creates separate recovery streams for each group, allowing simultaneous execution while maintaining data consistency within each group, thereby increasing overall recovery throughput without sacrificing completeness.
Solution Approach 2:
The system performs preliminary grouping and correlation analysis of failure events before initiating recovery operations. By pre-organizing failure events into related groups and identifying parallel execution opportunities in advance, the system prepares the recovery plan to maximize parallelism while ensuring data consistency requirements are met, thus improving recovery productivity without compromising completeness.
Data Source
AI summary
Embodiments detect and group multiple failure events to enable batch processing of those failure events, such as in a virtual datacenter executing a plurality of virtual machines (VMs). A long timer, adaptive short timer, and adaptive polling frequency enable a computing device to efficiently detect and group the failure events that may be related (e.g., resulting from one failure). The grouped failure events are processed in parallel thereby reducing the time for recovery from the failure events.


