Flow Distributor Hash Modification for Symmetrical Multi-Core Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-core systems face challenges in balancing network traffic distribution across cores, leading to uneven processing and functionality, especially when handling fragmented data packets and requiring symmetry in request and response routing to maintain core consistency.

Innovation Solution

A method and system that utilize a packet engine and flow distributor to symmetrically distribute network traffic by modifying tuples, such as source IP addresses and ports, and handling fragmented packets across multiple cores in a multi-core system, ensuring even processing and maintaining core consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a Receive Side Scaler distributes packets to cores based on a predetermined function, then network traffic can be distributed across multiple cores, but the distribution becomes uneven and asymmetrical between requests and responses

Engineering Contradiction:
Improvenetwork traffic distributionVSAvoiddistribution symmetry
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary actions by modifying the source IP address and/or source port in the request packet before forwarding it to the server. This pre-modification ensures that the response packet will be routed to the same core that processed the original request, achieving symmetrical distribution without requiring real-time coordination between cores.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (the flow distributor with hash-based routing) that mediates between the incoming request and the core selection. By using a hash of the destination IP address and port to determine the target core, the system ensures both request and response are handled by the same core, resolving the asymmetry problem.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If the source IP address and source port are modified to achieve symmetrical distribution, then request-response routing consistency is improved, but backend systems may require these attributes to remain un-modified

Engineering Contradiction:
Improverouting consistencyVSAvoidbackend system compatibility
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by modifying the source IP address and/or source port only in specific contexts where symmetrical distribution is needed, while leaving these attributes unchanged in other contexts. The flow distributor selectively applies modifications based on the specific packet and routing requirements, maintaining compatibility with backend systems that require unmodified attributes.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes parameters (source IP address and/or source port) based on the specific routing requirements. By adjusting these parameters selectively rather than universally, the system achieves symmetrical distribution where needed while maintaining compatibility with backend systems that require standard unmodified packets.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If network packets are fragmented, then data transmission can handle large payloads, but the multi-core system receives fragments rather than whole packets making symmetric distribution difficult

Engineering Contradiction:
Improvedata packet sizeVSAvoidpacket integrity
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent acknowledges and works with the segmented nature of fragmented packets by applying the hash-based routing mechanism to each fragment individually. The flow distributor uses the destination IP address and port from each fragment's header to determine the target core, ensuring all fragments of the same original packet are routed to the same core for reassembly, thus maintaining symmetry despite fragmentation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9661094B2Systems and methods for identifying a processor from a plurality of processors to provide symmetrical request and response processing
Publication Date: 2017.05.23 CITRIX SYSTEMS INC
  • US9661094B2 patent drawing
  • US9661094B2 patent drawing
  • US9661094B2 patent drawing

AI summary

Described herein is a method and system for distributing request and responses across a multi-core system. Each core executes a packet engine that further processes data packets allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine selects a first IP address and a first port of the core, and determines whether a hash of a tuple comprising those values identifies the selected core. A modification is then made to the client request so that the client request includes a tuple comprising the first IP address, the server IP address, the first port and the server port.