TCP Idle Connection Detection via Protocol Negotiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current TCP implementations lack a mechanism for cooperation and negotiation between nodes to detect and manage idle, underactive, or dead TCP connections, leading to resource wastage and potential connection termination.

Innovation Solution

A system and method that enables nodes to communicate using a second protocol separate from TCP, allowing for the detection of an idle time period and modification of timeout attributes in TCP connections, thereby preventing unnecessary resource allocation and connection closure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If TCP keep-alive option is implemented to detect dead peer endpoint, then detection capability is improved, but network bandwidth is wasted and connections may be brought down

Engineering Contradiction:
Improvedetection capabilityVSAvoidnetwork bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system uses existing TCP data packets to carry idle time period information rather than sending separate keep-alive packets. Each TCP packet serves dual purposes: data transmission and idle time notification, eliminating the need for dedicated detection packets.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent modifies TCP packet parameters by adding an idle time period field to existing packet structures. This allows nodes to communicate idle status information without changing the fundamental TCP protocol or adding separate communication channels.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If TCP keep-alive packets are sent to keep inactive connection open, then connection availability is improved, but firewall resources are wasted and connections with other nodes may be blocked

Engineering Contradiction:
Improveconnection availabilityVSAvoidfirewall resource waste
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The system implements a feedback mechanism where nodes advertise their idle time periods to partners, and partners adjust their behavior accordingly. This allows firewalls to receive accurate idle time information and make informed decisions about connection management without wasting resources on false positives.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Nodes proactively advertise their idle time periods before becoming actually idle. This preliminary notification allows partner nodes and firewalls to prepare for upcoming idle periods, preventing unnecessary resource allocation and connection interruptions.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If nodes operate independently without cooperation in keep-alive option, then node autonomy is maintained, but resources are wasted by duplicating function

Engineering Contradiction:
Improvenode autonomyVSAvoidresource duplication
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent introduces an idle time period advertisement as an intermediary mechanism that enables cooperation between nodes while maintaining their autonomy. Each node independently generates and advertises its own idle time information, and partners independently use this information to adjust their behavior, eliminating redundant keep-alive functions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10075565B1Methods, systems, and computer program products for sharing information for detecting an idle TCP connection
Publication Date: 2018.09.11 JENAM TECH LLC
  • US10075565B1 patent drawing
  • US10075565B1 patent drawing
  • US10075565B1 patent drawing

AI summary

An apparatus is provided comprising: a server computer including: a non-transitory memory storing a network application; and one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the network application to operate in accordance with a first protocol including a transmission control protocol (TCP), the apparatus, when operating in accordance with the first protocol to establish a TCP connection with a client computer, configured to: communicate a segment including at least one first synchronize bit; communicate a first acknowledgement of the segment, and at least one second synchronize bit; and communicate a second acknowledgement; said server computer, further configured to communicate, to the client computer, code that, when used by the client computer, causes the client computer to operate in accordance with a second protocol that is separate from the TCP, in order to establish a second protocol connection with another server computer, by: receiving a packet; detecting an idle time period parameter field in the packet; identifying metadata in the idle time period parameter field for an idle time period, where, after the idle time period is detected, the second protocol connection is deemed inactive; and creating or modifying, by the client computer and based on the metadata, a timeout attribute associated with the second protocol connection.