TCP Connection Resiliency for Network Test Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network test systems often terminate test scripts when a connection fails, requiring re-execution from the beginning, which is undesirable for observing longer-term performance and can be impractical or impossible in certain scenarios.

Innovation Solution

Implementing a method that stores client and server sequence identifiers to synchronize and resume test scripts after detecting errors, allowing the test to continue from the last data package prior to the error without restarting, using TCP connection resiliency systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the test script terminates when a network connection fails, then the test system can detect and report the error, but the test must be re-executed from the beginning, losing progress and extending test time

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtest execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by storing sequence identifiers and maintaining state information before connection failures occur. When a failure happens, the pre-stored sequence identifiers enable immediate resumption without re-execution, thus reducing test execution time while maintaining error detection capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously tracking sequence identifiers from both client and server sides. When a connection error occurs, the feedback loop uses the stored sequence information to determine the exact resumption point, allowing the test to continue from where it left off rather than restarting, thereby reducing time loss

Inventive Principle:
Principle #23Feedback

2Reliability

If the test script restarts from the beginning after a connection failure, then the test can ensure complete re-testing, but it cannot observe longer-term performance and requires impractical re-execution in certain scenarios

Engineering Contradiction:
Improvetest completenessVSAvoidtest duration
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary actions by maintaining sequence identifiers and test state information throughout execution. This preliminary state maintenance enables the test to resume accurately after failures, ensuring completeness is preserved while allowing the test to continue for longer durations without forced restarts

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system ensures continuity of useful action by implementing connection resumption capabilities. Instead of interrupting the test flow with restarts, the system continuously maintains test state and sequence information, allowing the testing process to proceed uninterrupted for longer durations while preserving test completeness through accurate resumption

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10116541B2TCP connections resiliency system for testing networks in unstable environments
Publication Date: 2018.10.30 KEYSIGHT TECH SINGAPORE (SALES) PTE LTD
  • US10116541B2 patent drawing
  • US10116541B2 patent drawing
  • US10116541B2 patent drawing

AI summary

The subject matter described herein relates to methods, systems, and computer readable media for test system connection resiliency. In some examples, a method for testing a network device under test (DUT) includes exchanging a sequence of data packages over a transmission control protocol (TCP) connection between a client and a server and through the network DUT. The method includes storing client sequence identifiers and server sequence identifiers. The method includes synchronizing, in response to detecting an error on the TCP connection, the client and the server to a last data package exchanged prior to the error using the client sequence identifiers and the server sequence identifiers and resuming a test script at a next data package after the last data package exchanged prior to the error in the sequence of data packages.