Connection Bucketing for Asymmetric Clustered Multiprocessor Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mirroring between computing devices in clustered systems is challenging, especially when individual devices within a chassis fail, as existing solutions do not effectively redistribute connections to ensure high availability and continuity of service.
Innovation Solution
Implementing a disaggregator (DAG) that routes incoming connections based on hash algorithms and attributes, allowing buckets to be dynamically reassigned to healthy computing devices, ensuring consistent routing even if devices fail, and using a similar hashing algorithm across primary and failover chassis to maintain connection integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If computing devices are mirrored between primary and failover chassis to improve availability, then system reliability is improved, but connection redistribution complexity increases when individual devices fail
Solution Approach 1:
The patent segments connections into buckets based on hash algorithms, allowing individual computing devices to fail without affecting all connections. Each bucket can be independently reassigned to healthy devices, reducing the complexity of connection redistribution during failures.
Solution Approach 2:
The patent introduces a connection bucketing mechanism as an intermediary between connections and computing devices. This bucketing layer absorbs the complexity of failure redistribution, shielding the system from direct device failure impacts and enabling simpler failover operations.
2Reliability
If connection bucketing with hash algorithms is implemented to enable dynamic reassignment, then connection integrity is maintained, but routing decision complexity increases
Solution Approach 1:
The patent performs preliminary bucket assignment using hash algorithms before failures occur. This pre-computed bucket mapping enables fast failover decisions without complex real-time routing calculations, maintaining connection integrity while simplifying runtime routing decisions.
Solution Approach 2:
The patent changes the routing parameter from direct device addressing to bucket-based indirect routing. By transforming connection identifiers into bucket assignments through hashing, the system achieves deterministic routing while reducing the complexity of dynamic reassignment operations.
3Reliability
If dynamic reassignment of buckets to healthy devices is implemented, then high availability is achieved, but system state management complexity increases
Solution Approach 1:
The patent implements self-service bucket reassignment where healthy computing devices automatically claim unassigned buckets when failures occur. This eliminates the need for complex centralized coordination and manual state management, enabling autonomous failover while maintaining high availability.
Solution Approach 2:
The patent introduces dynamic bucket-to-device mapping that adapts to failure conditions. The system transitions from static one-to-one mappings to dynamic many-to-many relationships, enabling flexible resource allocation while simplifying state management through automated redistribution protocols.
Data Source
AI summary
Creating a connection between one of a first plurality of computing devices in a primary chassis and one of a second plurality of computing devices in a failover chassis. A first plurality of buckets may be associated with the primary chassis, a second plurality of buckets may be associated with the failover chassis, where the first plurality of buckets may correspond to the second plurality of buckets. One of the first plurality of computing devices may be associated with one of the first plurality of buckets, and can create a connection with attributes such that a disaggregator in the failover chassis routes the connection to one of the second plurality of computing devices, wherein the one of the second plurality of computing devices may be associated with a bucket of the second plurality of buckets that corresponds to the one of the first plurality of buckets.


