IPv6 Destination Options Headers for Session-Persistent Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for maintaining session persistence in packet networks, particularly when transitioning from unsecured (HTTP) to secure (HTTPS) sessions, consume resources and increase latency due to delayed binding and the need for sequence number translation, which is inefficient and reduces the load balancer's capacity.

Innovation Solution

Utilizing an IPv6 destination options extension header with predefined fields for client and server identifiers, allowing session persistence without delayed binding, thereby enabling efficient load balancing and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If delayed binding is used to examine application packets, then session persistence can be maintained, but load balancer performance deteriorates due to sequence number translation overhead

Engineering Contradiction:
Improvesession persistenceVSAvoidload balancer performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by establishing TCP connection binding before application packet inspection. The load balancer binds the TCP connection to a server immediately upon TCP connection establishment, rather than waiting until after receiving the application request. This eliminates the need for delayed binding and subsequent sequence number translation, thereby maintaining session persistence while improving load balancer performance by avoiding the overhead of examining and translating application packets.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If delayed binding is used to select server after HTTP request, then session persistence is maintained, but user request response time increases

Engineering Contradiction:
Improvesession persistenceVSAvoiduser request response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing server selection at TCP connection establishment time rather than at HTTP request processing time. The load balancer binds the incoming TCP connection to an appropriate server before the application layer communication occurs. This eliminates the delay inherent in delayed binding where the server is not selected until after the HTTP request is received and processed, thereby maintaining session persistence while reducing user request response time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If source IP-based persistence is used for HTTP to HTTPS transition, then session persistence is maintained, but it fails when cookie is encrypted in HTTPS

Engineering Contradiction:
Improvesession persistenceVSAvoidHTTP to HTTPS transition capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by establishing the server binding at the TCP connection level before the application protocol (HTTP/HTTPS) is processed. The load balancer binds the TCP connection to a server based on source IP address immediately when the TCP connection is established. This binding persists through the entire session including the transition from HTTP to HTTPS, eliminating the problem where cookie-based persistence fails when cookies are encrypted in HTTPS connections. The TCP-level binding remains valid regardless of application layer encryption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12425499B2Load balancing and session persistence in packet networks
Publication Date: 2025.09.23 COMCAST CABLE COMM LLC
  • US12425499B2 patent drawing
  • US12425499B2 patent drawing
  • US12425499B2 patent drawing

AI summary

A node may generate a data packet comprising an Internet Protocol (IP) header and a destination options extension header (DOEH). The DOEH may comprise one or more data fields and an IP payload. The node may send the data packet to another node in a data network.