TCP Idle Connection Detection via Protocol Negotiation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


