Network Traffic Playback in Simulation Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional functionality and load testing methods fail to fully exercise all pathways of software applications and may not accurately represent the real-world load and conditions encountered in production environments, leading to incomplete testing and potential defects.

Innovation Solution

A simulation compiler records actual network traffic in a production environment, compresses and encodes it, and later uses a load generator to recreate realistic network traffic in a non-production environment for thorough testing, allowing for the reproduction and debugging of performance issues and defects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional functionality and load testing methods are used, then testing can be performed with simple test cases, but the testing does not fully exercise all pathways of the application and may not accurately represent real-world load

Engineering Contradiction:
Improvetesting completenessVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent captures actual network traffic from the production environment and creates a replayable copy of the transaction workload. This copy is then used to drive testing in the test environment, ensuring that the same real-world load patterns and transaction pathways are exercised without requiring the complex production system itself.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary capture and analysis of network traffic during a capture phase before the actual testing phase. This preliminary action involves recording transaction workloads, analyzing their characteristics, and preparing replay configurations that will be used later to drive comprehensive testing.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If network traffic is captured during production operation, then realistic load data can be obtained, but the capture process may impact production system performance

Engineering Contradiction:
Improveload representation accuracyVSAvoidproduction system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a network traffic capture component that acts as an intermediary between the production system and the analysis system. This intermediary captures network traffic packets without directly instrumenting or interfering with the production application's execution paths, thereby obtaining realistic load data while minimizing impact on production performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If detailed network traffic data is captured and stored, then comprehensive analysis is possible, but storage requirements and data processing overhead increase

Engineering Contradiction:
Improvetraffic analysis precisionVSAvoiddata storage volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts and stores only the essential characteristics of network traffic that are relevant for testing purposes, such as transaction workload patterns, request types, and timing information. Rather than storing complete raw packet data, the system extracts meaningful metrics and replay configurations, reducing storage requirements while maintaining analysis precision.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3617890B1Playback of captured network transactions in a simulation environment
Publication Date: 2024.10.02 SERVICENOW INC
  • EP3617890B1 patent drawingFigure 1
  • EP3617890B1 patent drawingFigure 2
  • EP3617890B1 patent drawingFigure 3

AI summary

A computing system may include a plurality of computational instances each containing one or more computing devices and one or more databases. A traffic filtering device may be configured to: receive a first sequence of packets and filter the first sequence of packets to create a second sequence of packets, where the second sequence of packets includes only copies of packets that were transmitted to a particular computational instance. The computing system may further include a simulation compiler device configured to: (i) receive the second sequence of packets, (ii) identify a captured transaction within the second sequence of packets, and (iii) encode the captured transaction as a playback instruction, where the playback instruction can be used to generate a third sequence of packets that, when transmitted to a computational instance used for testing, simulates the captured transaction.