TCP Session Closure in Container Orchestration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In container orchestration systems like Kubernetes, when a pod crashes or shuts down, clients cannot promptly close long-lived TCP sessions, leading to data inconsistency and service availability issues due to the keep-alive interval, as they wait for the interval to end before reconnecting to a new pod.

Innovation Solution

A method and system for determining if a pod is not alive and closing the corresponding TCP session based on its pod IP address, allowing clients to initiate new connections to alive pods before the keep-alive interval ends, without requiring a heartbeat mechanism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If clients wait for the keep-alive interval to end before reconnecting to a pod, then TCP session stability is maintained, but service availability deteriorates due to delayed reconnection to healthy pods

Engineering Contradiction:
Improveservice availabilityVSAvoidreconnection delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary detection of pod liveness and proactively closes TCP sessions before the keep-alive interval expires. The node detects when a pod is no longer alive and immediately closes the TCP session, allowing clients to reconnect to healthy pods without waiting for the keep-alive timeout, thus resolving the contradiction between maintaining session stability and enabling timely reconnection

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the node continuously monitors pod liveness status and uses this information to dynamically manage TCP sessions. When the node receives feedback that a pod is no longer alive (through pod status updates or liveness probes), it immediately closes the TCP session and notifies clients, enabling them to reconnect to healthy pods while maintaining overall session stability

Inventive Principle:
Principle #23Feedback

2Stability of the object's composition

If TCP sessions are kept open during pod failure, then connection stability is maintained, but data consistency deteriorates due to stale connections

Engineering Contradiction:
Improveconnection stabilityVSAvoiddata consistency
Core Design Contradiction:
Stability of the object's compositionVSLoss of information

Solution Approach 1:

The system takes preliminary action by detecting pod liveness and closing TCP sessions before data inconsistency can occur. When the node detects that a pod is no longer alive, it immediately closes the TCP session and updates its records, preventing stale connections from causing data inconsistency while maintaining connection stability for healthy pods

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts and removes stale TCP sessions from the active connection pool when pod failure is detected. By identifying and removing the problematic TCP session associated with the failed pod, the system maintains the stability of remaining connections while preventing data inconsistency that would arise from keeping stale connections active

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If clients reconnect immediately upon pod failure, then service availability improves, but TCP session management complexity increases due to premature reconnection attempts

Engineering Contradiction:
Improveservice availabilityVSAvoidsession management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The node acts as an intermediary between clients and pods, managing TCP session state and coordinating reconnection. When a pod fails, the node closes the TCP session and can guide clients to healthy pods using service discovery mechanisms, enabling immediate reconnection without clients needing to implement complex session management logic themselves

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses feedback from pod liveness detection to coordinate reconnection timing. When the node detects pod failure, it immediately closes the TCP session and can provide feedback to clients about the failure and available healthy pods, allowing clients to reconnect immediately with simplified logic that relies on the node's session management and coordination

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11652909B1TCP session closure in container orchestration system
Publication Date: 2023.05.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11652909B1 patent drawing
  • US11652909B1 patent drawing
  • US11652909B1 patent drawing

AI summary

Disclosed are a computer-implemented method, a system and a computer program product for TCP session closure in a container orchestration system. In the computer-implemented method for TCP session closure in a container orchestration system, a first pod being not alive in a second node can be determined by one or more processing units at a first node. A TCP session between a second pod in the first node and the first pod can be determined by one or more processing units at the first node based on a pod IP address of the first pod. The TCP session between the second pod and the first pod can be closed by one or more processing units at the first node.