IP Library Granted Patent US 12,021,729
Granted Patent B2
US 12,021,729 · App. 17/991,764 · Granted Jun 25, 2024

Dual frame sequence tables for network testing

Inventors: Jocelyn Kunimitsu (Honolulu, HI); Wade Teruya (Honolulu, HI)
Assignee: Spirent Communications, Inc.
H04L43/50H04L41/145H04L43/08H04L12/00H04L47/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,021,729
App. No.
17/991,764
Granted
Jun 25, 2024
Kind
B2
Abstract

The frame sequence table (FST) architecture disclosed here partitions an FST stored in the Block RAM on an FPGA into at least two tables for emulating frame sequences for testing network equipment by providing more accurate emulations of network environments. In some implementations, one FST (the primary FST) provides frame listings for high data rate streams, while the other FST provides low data rate streams (the “slow” FST, or SFST). Data compression techniques may be used for the primary FST, allowing emulation of high frame rates using multiple repetitions of frames, while the separation of low frequency streams into the SFST (along with residuals from the primary FST), allows them to be represented accurately when mixed into the final data stream in the output port. A “ping-pong” state machine implemented in firmware governs the selection of data streams from the primary FST and SFST into the output data flow.

Claims (58)

1. A method of providing a data stream emulating network traffic, the method comprising:

receiving a profile of traffic in a network, wherein the profile comprises information about streams of data comprising frames to be transmitted over the network, the information including data rates in frames per second (fps) for each of the streams of data;

determining first and second switching criteria based on values for the data rates in the profile;

storing a first portion of the information from the profile in a first frame sequence table (FST), wherein the information stored in the first FST includes frame rates, repeat counts, and frame identifiers;

storing a second portion of the information from the profile in a second frame sequence table (FST), wherein the information stored in the second FST includes frame rates, repeat counts, and frame identifiers;

transmitting data streams comprising frames specified by the first frame sequence table to an output port and comparing information about the transmitted data streams comprising frames specified by the first FST with the first switching criteria; and

after the information about the transmitted data streams satisfies the first switching criteria, switching to transmitting data streams comprising frames specified by the second frame sequence table to the output port.

2. The method of claim 1 , additionally comprising:

while transmitting data streams comprising frames specified by the second frame sequence table to the output port, comparing information about the transmitted data streams comprising frames specified by the second FST with the second switching criteria; and

after the information about the transmitted data streams comprising frames specified by the second FST satisfies the second switching criteria, switching to transmitting data streams comprising frames specified by the first frame sequence table to the output port.

3. The method of claim 2 , wherein

the output port is connected to a device under test; and additionally comprising:

measuring network metrics for the device under test while the device under test receives data streams transmitted from the output port.

4. The method of claim 1 , wherein

the streams of data represented in the portion of the information from the profile in the first frame sequence table (FST) have an average value of data rates in fps that is greater than an average value of data rates in fps for the data streams represented in the portion of the information from the profile in the second frame sequence table (FST).

5. The method of claim 1 , wherein

the first switching criteria are calculated using an accumulator that counts frames transmitted from the first FST, and the first switching criteria are satisfied when a predetermined number of frames from the first FST has been transmitted.

6. The method of claim 2 , wherein

the second switching criteria are satisfied when a predetermined number of frames from the second FST have been transmitted.

7. The method of claim 1 , wherein

comparing information about the transmitted data streams comprising frames specified by the first FST with the first switching criteria is carried out within a field programmable gate array (FPGA).

8. The method of claim 2 , wherein

comparing information about the transmitted data streams comprising frames specified by the second FST with the second switching criteria is carried out within a field programmable gate array (FPGA).

9. The method of claim 1 , wherein

the first frame sequence table (FST) and the second frame sequence table are stored in block random access memory (block RAM) of a field programmable gate array (FPGA).

10. The method of claim 2 , wherein

making a determination that the information about the transmitted data streams comprising frames specified by the first FST satisfies the first switching criteria and making a determination that the information about the transmitted data streams comprising frames specified by the second FST satisfies the second switching criteria use a state machine programmed on a field programmable gate array (FPGA).

11. The method of claim 1 , wherein

storing the portion of the information from the profile in the first frame sequence table (FST) uses repeat counts associated with frame identifiers to store the information.

12. The method of claim 1 , wherein

the profile of network traffic is provided by a user through a user interface.

13. The method of claim 1 , wherein:

determining the first and second switching criteria based on the values for the data rates in the profile involves a calculation of a sum of all data rates in frames per second (fps) for the streams of data in the profile.

14. The method of claim 1 , wherein:

the profile comprises information about more than a million streams of data.

15. A system for providing emulated network traffic, comprising:

a user interface to allow a user to input a profile of traffic in a network, the profile comprising information about streams of data comprising frames to be transmitted over the network, the information including data rates in frames per second (fps) for each of the streams of data;

memory circuitry for storing two or more frame sequence tables (FSTs), each FST containing a portion of the information from the profile, including frame rates, repeat counts, and frame identifiers, and each FST configured to specify one or more sequences of frames for the streams of data to be transmitted over the network;

logic circuitry comprising firmware configured to:

(i) determine a first and second switching criteria based on values for data rates in an inputted profile of traffic in a network,

(ii) make a comparison of information about transmitted data streams with the first and second switching criteria, and

(iii) based on the comparison, select which FST will specify frames to be transmitted through the system; and

an output port that provides the frames transmitted through the system to circuitry to be tested.

16. The system of claim 15 , wherein

the memory circuitry is a portion of block RAM of an FPGA.

17. The system of claim 15 , wherein

the logic circuitry comprises a state machine.

18. The system of claim 15 , wherein

the logic circuitry comprises registers that track frames that have been provided by the FSTs to the output port.

19. The system of claim 15 , wherein

the logic circuitry is programmed in a portion an FPGA.

20. A non-transitory computer-readable recording medium having computer program instructions recorded thereon, the computer program instructions being for utilizing two frame sequence tables for generating network traffic, and the computer program instructions, when executed on one or more processors, cause the one or more processors to perform operations comprising:

receiving a profile of traffic in a network, wherein the profile comprises information about streams of data comprising frames to be transmitted over the network, the information including data rates in frames per second (fps) for each of the streams of data;

determining first and second switching criteria based on values for the data rates in the profile;

storing a first portion of the information from the profile in a first frame sequence table (FST), wherein the information stored in the first FST includes frame rates, repeat counts, and frame identifiers;

storing a second portion of the information from the profile in a second frame sequence table (FST), wherein the information stored in the second FST includes frame rates, repeat counts, and frame identifiers;

transmitting data streams comprising frames specified by the first frame sequence table to an output port and comparing information about the transmitted data streams comprising frames specified by the first FST with the first switching criteria; and

after the information about the transmitted data streams satisfies the first switching criteria, switching to transmitting data streams comprising frames specified by the second frame sequence table to the output port.

Assignments (5)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 73189/0873 Recorded May 28, 2026
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 075642/0381 →
SECURITY INTEREST Recorded Nov 14, 2025
From: VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC; INERTIAL LABS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073571/0137 →
SECURITY AGREEMENT Recorded Oct 21, 2025
From: INERTIAL LABS, INC.; VIAVI SOLUTIONS INC.; VIAVI SOLUTIONS LICENSING LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 073189/0873 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2025
From: SPIRENT COMMUNICATIONS, INC.
To: VIAVI SOLUTIONS LICENSING LLC
Reel/Frame 073121/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2024
From: KUNIMITSU, JOCELYN; TERUYA, WADE
To: SPIRENT COMMUNICATIONS, INC.
Reel/Frame 066592/0535 →
Continuity (2)
Provisional Application 63282047 · Nov 22, 2021
Related Publication 20230164057A1 · May 25, 2023