Multi-Core Link Load Balancing via Session Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core systems, existing technologies face challenges in implementing effective link load balancing and layer three forwarding, particularly in ensuring persistence of network traffic across multiple Internet links, where the core receiving a packet may not be the same core that owns the session, leading to inefficiencies in route determination and traffic management.
Innovation Solution
A method for link load balancing by a multi-core intermediary device that involves selecting a packet's path based on persistence type, where a first core requests persistence information from a second core identified as the owner of the session, and uses this information to determine the appropriate Internet link for forwarding the packet, employing load balancing methods like round robin, destination hash, or least bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a multi-core device implements link load balancing with session persistence, then network traffic can be distributed across multiple Internet links while maintaining session continuity, but the complexity of determining the correct owner core increases when packets arrive at cores different from the session owner
Solution Approach 1:
The patent applies preliminary action by pre-distributing session information across multiple cores using a hash function before packets arrive. When a session is established, the owner core is determined in advance and session information is stored in a distributed manner. This eliminates the need for complex real-time queries when packets arrive, as each core already has the necessary routing information locally available through the hash-based distribution mechanism.
Solution Approach 2:
The patent introduces an intermediary mechanism in the form of a hash function that maps session identifiers to specific cores. This hash-based intermediary simplifies the complex task of determining packet routing by providing a deterministic and efficient method to identify the owner core without requiring direct communication or complex lookup procedures between cores.
2Reliability
If session information is stored centrally in one core, then persistence can be maintained, but other cores must query the owner core for each packet, increasing processing time and reducing throughput
Solution Approach 1:
The patent applies segmentation by dividing session information storage across multiple cores rather than centralizing it in one core. Using a hash function, session information is segmented and distributed to different cores based on the session identifier. This allows any core to independently determine packet routing without querying other cores, eliminating inter-core communication overhead and improving processing throughput while maintaining session persistence.
Solution Approach 2:
The patent enables self-service by equipping each core with the capability to independently determine packet routing decisions using locally stored session information and hash-based lookup. Each core serves itself by having the necessary routing information available locally, eliminating the need to query the owner core for each packet and thereby improving processing efficiency.
3Productivity
If link load balancing is implemented without considering session persistence, then traffic distribution is simplified, but sessions may be interrupted when packets are routed to different cores
Solution Approach 1:
The patent applies parameter changes by using a hash function that takes the session identifier as input and produces a core identifier as output. This transformation of the session identifier parameter into a routing decision maintains session continuity while enabling load distribution. By changing the parameter representation through hashing, the system achieves both session persistence and traffic distribution efficiency simultaneously.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
Systems and methods are described for link load balancing, by a multi-core intermediary device, a plurality of Internet links. The method may include load balancing, by a multi-core device intermediary to a plurality of devices and a plurality of Internet links, network traffic across the plurality of Internet links. The multi-core device providing persistence of network traffic to a selected Internet link based on a persistence type. A first core of the multi-core device receives, a packet to be transmitted via an Internet link to be selected from the plurality of Internet links. The first core sends to a second core of the multi-core device a request for persistence information responsive to identifying that the second core is an owner core of a session for persistence based on the persistence type. The first core receives the persistence information from the second core and determines to transmit the packet to the Internet link previously selected based on the persistence information received from the second core.