Multi-Core Protocol Coordination via Intermediary Packet Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core systems, managing multiple connections for protocols like FTP, where control and data communications need to be associated, is challenging due to the potential disparate handling of connections by different cores.

Innovation Solution

A method is introduced to efficiently coordinate multi-connection protocol management between multiple cores by using a first packet processing engine to determine and communicate with a second core for data connection requests, establishing a listening service, and modifying commands to use mapped addresses and ports, ensuring seamless communication between client and server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If different cores in the multi-core system handle the control connection and data connection separately, then the system can utilize multiple cores for parallel processing, but the coordination between control and data connections becomes complex and error-prone

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a flow distributor as an intermediary component that receives control connection requests from one core and redirects them to appropriate data connection handlers in other cores. This mediator abstracts the complexity of inter-core coordination, allowing each core to focus on handling connections without needing direct coordination mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the connection handling function by separating control connection processing from data connection processing across different cores. The control connection request is divided into distinct phases: receipt by a first core, determination of the target second core, and execution by the second core. This segmentation allows independent optimization of control and data handling while maintaining overall system coherence.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the system establishes a listening service on mapped addresses and ports, then the protocol can be properly routed through the multi-core system, but additional message passing and address mapping mechanisms are required

Engineering Contradiction:
Improveconnection routing reliabilityVSAvoidaddress mapping mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs parameter changes by introducing mapped internet protocol addresses and mapped port numbers as intermediary parameters. These mapped parameters transform the original client and server addresses into a format suitable for the multi-core system's listening service. The first packet processing engine modifies the port command to include these mapped parameters, enabling reliable routing while abstracting the complexity of address translation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs preliminary actions by pre-establishing the listening service on mapped addresses before receiving actual connection requests. The first packet processing engine determines the appropriate second core and communicates this information in advance, allowing the second core to be ready to handle the data connection request immediately upon arrival.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If the first packet processing engine determines and communicates with the second core for data connection requests, then coordinated multi-core handling is achieved, but additional message passing overhead is introduced

Engineering Contradiction:
Improvecoordinated handlingVSAvoidmessage passing overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms where the first packet processing engine sends messages to the second core containing information about the port command and mapped parameters. This feedback loop ensures that the second core receives all necessary information to properly handle the data connection request, enabling coordinated multi-core operation while minimizing the information that needs to be transmitted.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2267971B1Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system
Publication Date: 2017.08.02 CITRIX SYSTEMS INC
  • EP2267971B1 patent drawingFigure 1A
  • EP2267971B1 patent drawingFigure 1B
  • EP2267971B1 patent drawingFigure 1C

AI summary

The present application is directed towards systems and methods for handling a multi-connection protocol communication between a client and a server traversing a multi-core system. The multi-connection protocol comprises a first connection and a second connection, which may be used respectively for control communications and data communications. Because different cores in the multi-core system may handle the first connection and second connection, the present invention provides systems and methods for efficiently coordinating protocol management between a plurality of cores.