Multi-Core Intermediary Packet Routing for Datacenter Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional load balancing methods in datacenters with limited public IP addresses result in high latency and bandwidth consumption, degrading overall performance due to inefficient routing of network packets between client devices and backend servers.

Innovation Solution

Implementing a system with two sets of multi-core intermediary devices, where a client-side and server-side multi-core intermediary device pair use a flow distributor, hash calculator, core selector, key retriever, and packet modifier to identify and assign the correct cores for processing network packets based on RSS hash configuration, reducing intermediary-to-intermediary and core-to-core communications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional load balancing methods are used to route network packets between client devices and backend servers with limited public IP addresses, then bandwidth utilization is improved, but latency increases and overall performance degrades

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system segments the load balancing function into two distinct sets of intermediaries: client-side intermediaries that receive packets from clients and server-side intermediaries that forward packets to servers. This segmentation allows each set to specialize in specific routing tasks, reducing the complexity of packet routing decisions and decreasing latency while maintaining efficient bandwidth utilization through coordinated operation between the two sets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces multi-core intermediaries as mediator devices between clients and servers, where each intermediary contains multiple cores that can independently process packets. These intermediaries act as intelligent mediators that maintain flow state information and make optimized routing decisions, reducing the need for complex coordination and thereby decreasing latency while efficiently utilizing available bandwidth.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If multi-core intermediaries are deployed to improve packet routing efficiency, then latency decreases, but device complexity increases

Engineering Contradiction:
ImprovelatencyVSAvoidintermediary device complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system divides the intermediary functionality into two separate sets (client-side and server-side), each with simplified responsibilities. Client-side intermediaries focus on receiving packets from clients and forwarding to appropriate server-side intermediaries, while server-side intermediaries focus on delivering packets to backend servers. This segmentation reduces the complexity of individual devices while maintaining low latency through coordinated operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each intermediary device is designed with multiple cores that can handle multiple packet flows simultaneously, providing multi-functionality within a single device type. This universal design allows the same hardware platform to be used across both client-side and server-side deployments, reducing overall system complexity while maintaining high performance through parallel processing.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If flow state information is maintained across multiple intermediaries to enable accurate packet routing, then routing precision improves, but memory resources are consumed

Engineering Contradiction:
Improverouting precisionVSAvoidmemory resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The flow state information is segmented and distributed across the two sets of intermediaries rather than being集中ized in a single location. Client-side intermediaries maintain flow state for incoming client connections, while server-side intermediaries maintain flow state for outgoing server connections. This segmentation reduces the memory burden on any single intermediary while maintaining routing precision through coordinated state management between the two sets.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10333846B2Systems and methods for routing network packets between multi-core intermediaries
Publication Date: 2019.06.25 CITRIX SYSTEMS INC
  • US10333846B2 patent drawing
  • US10333846B2 patent drawing
  • US10333846B2 patent drawing

AI summary

The present disclosure is directed towards systems and methods routing network packets between multi-core intermediaries. A processor of a plurality of processors on a client-side intermediary device may receive a packet from a client device. The processor may be identified by a core identifier. The processor may calculate a first set of source port addresses based on a first key and the core identifier. The processor may identify a target server-side intermediary device and a target processor based on data received with the packet or metadata received from the target server-side intermediary device. The processor may calculate a second set of port addresses based on a second key and the target core identifier. The processor may identify a port address common to both the first set and second set of port addresses. The processor may replace the original source port address in the packet with the identified port address.