Connection Mirroring Failover via Tuple Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If connection backup is implemented on a secondary device, then service reliability is improved, but device complexity increases

Engineering Contradiction:
Improveconnection availabilityVSAvoidsystem configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If connection information is transmitted to secondary device, then failover capability is improved, but information loss risk increases

Engineering Contradiction:
Improveconnection continuityVSAvoidconnection state
Core Design Contradiction:
ReliabilityVSLoss of information

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If core identification algorithm is optimized, then connection setup speed is improved, but calculation accuracy may deteriorate

Engineering Contradiction:
Improveconnection setup speedVSAvoidcore mapping accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2656594B1Systems and methods for implementing connection mirroring in a multi-core system
Publication Date: 2015.08.26 CITRIX SYSTEMS INC
  • EP2656594B1 patent drawingFigure 1A
  • EP2656594B1 patent drawingFigure 1B
  • EP2656594B1 patent drawingFigure 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.