Clustered Computing Notification Events for Fast Session Rebalancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional clustered computing systems face significant inefficiencies and downtime when state changes occur, leading to wasted time and resources due to slow notification and rebalancing of sessions, particularly when nodes or services go down or become available, resulting in reduced availability and service times.
Innovation Solution
Implementing a notification system that publishes events for system state changes, allowing for fast application recovery and session rebalancing by generating unique session signatures and using notification events to quickly notify affected applications and sessions of status changes, enabling efficient redistribution of work across available resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional clustered computing systems use standard notification mechanisms for state changes, then system reliability is maintained, but notification speed and application recovery time are slow
Solution Approach 1:
The system performs preliminary actions by pre-establishing event subscription relationships between applications and state change events. When state changes occur, the notification is already routed to subscribed applications, eliminating the need for traditional slow notification mechanisms and enabling immediate application recovery.
Solution Approach 2:
The system implements a feedback mechanism where applications subscribe to specific state change events they care about. When state changes occur, the system immediately notifies subscribed applications, which can then take corrective actions. This closed-loop feedback system enables fast detection and response to failures, directly reducing application recovery time.
2Productivity
If the system implements comprehensive session tracking and notification mechanisms, then application recovery speed improves, but system complexity increases
Solution Approach 1:
The notification system is segmented into independent event types (node up, node down, service up, service down) that can be subscribed to individually. Applications only subscribe to the specific state changes they need to respond to, reducing unnecessary complexity while maintaining fast recovery capabilities for relevant events.
Solution Approach 2:
The event subscription mechanism serves multiple functions: it tracks session states, enables application recovery, supports load rebalancing, and provides system monitoring all through a single unified interface. This multi-functionality reduces overall system complexity by consolidating multiple mechanisms into one universal system.
3Reliability
If the system redistributes sessions quickly after node failures, then system availability improves, but resource allocation overhead increases
Solution Approach 1:
The system performs preliminary actions by pre-configuring event subscriptions and session state tracking before failures occur. When node failures happen, the system can immediately redistribute sessions based on pre-established event notifications, improving availability without requiring complex real-time resource allocation overhead.
Solution Approach 2:
The notification system enables self-service resource allocation where the system automatically detects state changes and triggers session redistribution without requiring manual intervention or complex centralized resource management. The event-driven architecture allows the system to self-manage resource allocation efficiently.
Data Source
AI summary
With fast notification of changes to a clustered computing system, through which a number of events are published for system state changes, applications can quickly recover and sessions can quickly be rebalanced. When a resource associated with a service experiences a change in status, such as a termination or a start/restart, a notification event is immediately published. Notification events contain information to enable subscribers to identify, based on matching a session signature, the particular sessions that are affected by the change in status, and to respond accordingly. This allows sessions to be quickly aborted and ongoing processing to be quickly terminated when a resource fails, and allows fast rebalancing of work when a resource is restarted.


