Connection Mirroring Failover via Tuple Modification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data communication networks face disruptions when intermediaries between clients and servers become unavailable, leading to service disruptions such as session or connection failures.
Innovation Solution
Implementing a failover functionality where connections supported by one core on a primary device are maintained and transferred to another core on a secondary multi-core device, using an algorithm to identify and set up a backup connection by processing information like IP addresses, MAC addresses, and port numbers, and modifying tuple information to ensure correct core selection for failover.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If connection backup is implemented on a secondary device, then service reliability is improved, but device complexity increases
Solution Approach 1:
The system pre-calculates and stores the mapping between connection tuples and target cores on the secondary device before failover occurs. This preliminary setup ensures that when failover is needed, the connection can be immediately redirected to the correct core without complex real-time calculations, thus improving reliability while managing complexity.
Solution Approach 2:
The patent introduces a connection manager as an intermediary component that handles the complexity of connection tracking and core mapping. This mediator abstracts the complex failover logic from the packet processing cores, allowing the system to achieve high reliability through comprehensive connection backup while keeping the operational complexity managed through centralized control.
2Reliability
If connection information is transmitted to secondary device, then failover capability is improved, but information loss risk increases
Solution Approach 1:
The system creates a complete copy of the connection state information including tuple details, core mapping, and processing context, and transmits it to the secondary device. This copying approach ensures that the secondary device has an identical replica of the connection state, enabling seamless failover while preserving all connection information without loss.
Solution Approach 2:
The connection state information is packaged and transmitted to the secondary device in advance, before any potential failover event occurs. This preliminary transmission ensures that all necessary connection information is already available on the secondary device, eliminating the risk of information loss during the failover process.
3Productivity
If core identification algorithm is optimized, then connection setup speed is improved, but calculation accuracy may deteriorate
Solution Approach 1:
The system pre-calculates the target core mapping for all possible connection tuples on the secondary device and stores this mapping information in advance. When a connection needs to be established or failed over, the system simply performs a lookup in the pre-computed mapping table rather than executing a complex algorithm in real-time. This approach achieves high connection setup speed while maintaining accurate core mapping through the use of precise pre-calculated data.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
The present application is directed to systems and methods for providing failover connection mirroring between two or more multi-core devices intermediary between a client and a server. A first multi-core device may receive a hash key of a second multi-core device for mapping packets to cores of the second multi-core device. The first device may identify a core of the second device using (i) the hash key of the second device and (ii) tuple information corresponding to a connection between the client and the server via the first device. The first device may determine that the identified core is not a desired core for providing a failover connection. The first device may modify the tuple information so as to identify the desired core when used with the hash key of the second device. The first device may use the modified tuple information to establish the failover connection.