Dynamic Service Session Distribution via Gateway Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current service load balancers face challenges in dynamically distributing service sessions across multiple servers due to the limitations of assigning a single IP address to a network device, leading to inefficiencies in handling varying client demand and requiring clients to re-acquire new IP addresses for service changes.

Innovation Solution

A system comprising a gateway node and forwarding nodes that dynamically distribute service sessions based on a forwarding policy, allowing packets to be routed to appropriate servicing nodes and servers, enabling scalable and adaptive service network management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single IP address is assigned to each network device, then network routing is simplified, but the system cannot dynamically distribute service sessions across multiple servers

Engineering Contradiction:
Improvedynamic service session distributionVSAvoidnetwork addressing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the network addressing function into two parts: a stable service address (e.g., load balancer IP) and dynamic server addresses. The service address remains constant for client communication, while the system internally segments and manages multiple server addresses behind it, enabling dynamic distribution without exposing complexity to clients.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a load balancer as an intermediary between clients and servers. The load balancer holds the service address and acts as a mediator that receives client requests at the stable service address, then dynamically distributes them to multiple servers using different addressing methods (source NAT, destination NAT, or routing), thus resolving the contradiction between address stability and distribution flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If additional service load balancers are added to handle increased demand, then service capacity increases, but client devices must learn new IP addresses

Engineering Contradiction:
Improveservice capacityVSAvoidclient configuration
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent makes the service address universal by allowing it to represent multiple load balancers and servers. A single service address can dynamically route to any available load balancer in the pool, which in turn can route to any available server. This multi-functionality enables capacity scaling without requiring clients to know or configure specific IP addresses of individual load balancers or servers.

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

Solution Approach 2:

The load balancing system performs self-service by automatically managing its own address distribution and session routing. When demand increases and new load balancers are added, the system automatically incorporates them into the existing service address pool and redistributes sessions accordingly, without requiring client devices to perform any configuration or learn new addresses.

Inventive Principle:
Principle #25Self-service

3Loss of energy

If service load balancers are removed after demand decline, then resource utilization improves, but clients must re-acquire IP addresses

Engineering Contradiction:
Improvenetwork resource utilizationVSAvoidIP address re-acquisition time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-establishing the service address as a stable, persistent identifier that outlives individual load balancer instances. When load balancers are removed or added, the service address remains unchanged and continues to function, as the system has already prepared it to dynamically map to whatever load balancers are currently active. This eliminates the need for clients to re-acquire addresses during system changes.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If multiple IP addresses are used for load balancers, then service distribution flexibility increases, but the system cannot provide a stable service address to clients

Engineering Contradiction:
Improveservice distribution flexibilityVSAvoidservice address stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent adds another dimension to address management by introducing the concept of a service address that exists at a higher abstraction level than individual device IPs. Instead of using a single flat dimension of device IP addresses, the system creates a hierarchical dimension where the service address points to a pool of load balancer IPs, which in turn point to server IPs. This dimensional change allows both stability (at the service address level) and flexibility (at the load balancer and server levels).

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10862955B2Distributing service sessions
Publication Date: 2020.12.08 A10 NETWORKS INC
  • US10862955B2 patent drawing
  • US10862955B2 patent drawing
  • US10862955B2 patent drawing

AI summary

Provided are methods and systems for dynamically distributing a service session from a client device. The method may commence with receiving a packet associated with the service session from the client device by a gateway node. The method may include determining that the packet matches a service address in a forwarding policy. The method may continue with selecting one of a plurality of forwarding nodes for sending the packet to the one of the plurality of forwarding nodes. The method may include receiving the packet of the service session by the one of the plurality of forwarding nodes. The method may continue with determining that the packet matches the service address serviced by a servicing node of a plurality of servicing nodes. The method may further include sending the packet to the servicing node for forwarding the packet to a server by the servicing node.