Sequence Number Generator for Network Traffic Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for generating sequence numbers in network traffic testing equipment are inefficient, leading to high overhead and system bottlenecks, especially when emulating multiple sources and sessions, and lack flexibility in generating complex or arbitrary sequences.

Innovation Solution

A system that uses a data storage entity to store coefficients for generating sequence numbers according to a desired pattern, allowing for low-overhead and flexible sequence number generation by calculating values using these coefficients without changing them during generation, and includes a sequencing method selection module to choose between different generation methods based on desired patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional memory storage and read-modify-write operations are used to generate sequence numbers, then sequence numbers can be generated for multiple sessions, but system overhead increases and performance bottlenecks occur at high traffic rates

Engineering Contradiction:
Improveability to emulate multiple sources and sessionsVSAvoidpacket generation rate
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces the software-based read-modify-write memory operations with hardware-based sequence number generation using counters and multiplexers. This substitution of mechanical/software systems with hardware circuits eliminates the performance bottleneck while maintaining the ability to generate sequence numbers for multiple sessions simultaneously.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent divides the sequence number generation system into separate counter units, each dedicated to a specific session or source. Each counter independently generates sequence numbers for its assigned session, eliminating the need for centralized memory access and read-modify-write operations, thereby enabling parallel generation for multiple sessions without overhead.

Inventive Principle:
Principle #1Segmentation

2Productivity

If simple counter output is used as the source for sequence numbers, then overhead is reduced, but only simple sequences can be generated

Engineering Contradiction:
Improvegeneration efficiencyVSAvoidsequence pattern flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent makes the sequence number generation dynamic by allowing the selection of different counter configurations and patterns through multiplexers. The system can adapt between simple incrementing sequences and more complex patterns by dynamically selecting which counter outputs are used and how they are combined, providing both efficiency and flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal sequence number generation system where the same hardware infrastructure (counters and multiplexers) can generate multiple types of sequence patterns. By configuring the multiplexers to select different counter outputs and combination methods, the system can produce simple sequences, complex sequences, or arbitrary patterns as needed.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8832309B2Generating packets with low overhead or selectable sequence number generation
Publication Date: 2014.09.09 KEYSIGHT TECH SINGAPORE (SALES) PTE LTD
  • US8832309B2 patent drawing
  • US8832309B2 patent drawing
  • US8832309B2 patent drawing

AI summary

Methods, systems, and computer readable media for generation of sequence numbers for insertion into a data stream are disclosed. According to one aspect, low-overhead sequence number generation includes reading a stored set of coefficients and using them to calculate a value for a sequence number according to an equation for calculating a sequence number value, but not changing the values of the stored set of coefficients during generation of the sequence numbers. According to another aspect, a sequence number generation method is selected from multiple available methods based on a desired pattern of sequence numbers and used to generate sequence numbers that are included in a data stream. According to yet another aspect, sequence numbers are calculated using multiple inputs, each input being a counter output or a value referenced by a counter output.